1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-28 16:20:57 -05:00

feat: upgrade to TypeScript 4.9.3 (#16973)

Updated from: https://github.com/denoland/TypeScript/pull/2
This commit is contained in:
David Sherret 2022-12-07 12:59:59 -05:00 committed by GitHub
parent 791e623c32
commit f4385866f8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 12527 additions and 10288 deletions

View file

@ -259,17 +259,24 @@ mod ts {
}
pub(crate) fn version() -> String {
std::fs::read_to_string("tsc/00_typescript.js")
.unwrap()
.lines()
.find(|l| l.contains("ts.version = "))
.expect(
"Failed to find the pattern `ts.version = ` in typescript source code",
)
.chars()
.skip_while(|c| !char::is_numeric(*c))
.take_while(|c| *c != '"')
.collect::<String>()
let file_text = std::fs::read_to_string("tsc/00_typescript.js").unwrap();
let mut version = String::new();
for line in file_text.lines() {
let major_minor_text = "ts.versionMajorMinor = \"";
let version_text = "ts.version = \"\".concat(ts.versionMajorMinor, \"";
if version.is_empty() {
if let Some(index) = line.find(major_minor_text) {
let remaining_line = &line[index + major_minor_text.len()..];
version
.push_str(&remaining_line[..remaining_line.find('"').unwrap()]);
}
} else if let Some(index) = line.find(version_text) {
let remaining_line = &line[index + version_text.len()..];
version.push_str(&remaining_line[..remaining_line.find('"').unwrap()]);
return version;
}
}
panic!("Could not find ts version.")
}
}

View file

@ -3913,7 +3913,7 @@ mod tests {
// You might have found this assertion starts failing after upgrading TypeScript.
// Just update the new number of assets (declaration files) for this number.
assert_eq!(assets.len(), 71);
assert_eq!(assets.len(), 72);
// get some notification when the size of the assets grows
let mut total_size = 0;

View file

@ -1426,7 +1426,7 @@ mod lsp {
"language": "typescript",
"value": "(method) DateConstructor.now(): number",
},
""
"Returns the number of milliseconds elapsed since midnight, January 1, 1970 Universal Coordinated Time (UTC)."
],
"range": {
"start": {
@ -1464,7 +1464,7 @@ mod lsp {
"language": "typescript",
"value": "(method) DateConstructor.now(): number",
},
""
"Returns the number of milliseconds elapsed since midnight, January 1, 1970 Universal Coordinated Time (UTC)."
],
"range": {
"start": {

View file

@ -47,7 +47,7 @@
"range": {
"start": {
"line": 1,
"character": 2
"character": 12
},
"end": {
"line": 6,
@ -57,23 +57,35 @@
"parent": {
"range": {
"start": {
"line": 0,
"character": 11
"line": 1,
"character": 2
},
"end": {
"line": 7,
"character": 0
"line": 6,
"character": 3
}
},
"parent": {
"range": {
"start": {
"line": 0,
"character": 0
"character": 11
},
"end": {
"line": 7,
"character": 1
"character": 0
}
},
"parent": {
"range": {
"start": {
"line": 0,
"character": 0
},
"end": {
"line": 7,
"character": 1
}
}
}
}

View file

@ -4,7 +4,7 @@ Check [WILDCARD]/doc.ts$10-13.jsx
Check [WILDCARD]/doc.ts$14-17.ts
Check [WILDCARD]/doc.ts$18-21.tsx
Check [WILDCARD]/doc.ts$30-35.ts
error: TS2367 [ERROR]: This condition will always return 'false' since the types 'string' and 'number' have no overlap.
error: TS2367 [ERROR]: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
console.assert(check() == 42);
~~~~~~~~~~~~~
at [WILDCARD]/doc.ts$30-35.ts:3:16

View file

@ -1,14 +1,8 @@
import { assert } from "./test_util.ts";
import { assert, assertEquals } from "./test_util.ts";
Deno.test(function version() {
const pattern = /^\d+\.\d+\.\d+/;
assert(pattern.test(Deno.version.deno));
assert(pattern.test(Deno.version.v8));
// Unreleased version of TypeScript now set the version to 0-dev
assert(
pattern.test(Deno.version.typescript) ||
Deno.version.typescript === "0-dev" ||
Deno.version.typescript === "0-beta" ||
Deno.version.typescript === "1-rc",
);
assertEquals(Deno.version.typescript, "4.9.3");
});

21369
cli/tsc/00_typescript.js vendored

File diff suppressed because it is too large Load diff

View file

@ -16,6 +16,7 @@ It works like this currently:
1. This commit has a "deno.ts" file in it. Read the instructions in it.
1. Copy typescript.js into Deno repo.
1. Copy d.ts files into dts directory.
1. Review the copied files, removing and reverting what's necessary
So that might look something like this:
@ -29,6 +30,6 @@ git checkout -b branch_v3.9.7
git cherry pick <previous-release-branch-commit-we-did>
npm install
gulp local
rsync lib/typescript.js ~/src/deno/cli/tsc/00_typescript.js
rsync --exclude=protocol.d.ts --exclude=tsserverlibrary.d.ts --exclude=typescriptServices.d.ts lib/*.d.ts ~/src/deno/cli/tsc/dts/
rsync built/local/typescript.js ~/src/deno/cli/tsc/00_typescript.js
rsync --exclude=protocol.d.ts --exclude=tsserverlibrary.d.ts --exclude=typescriptServices.d.ts built/local/*.d.ts ~/src/deno/cli/tsc/dts/
```

View file

@ -137,15 +137,14 @@ interface AudioWorkletNodeOptions extends AudioNodeOptions {
interface AuthenticationExtensionsClientInputs {
appid?: string;
appidExclude?: string;
credProps?: boolean;
uvm?: boolean;
hmacCreateSecret?: boolean;
}
interface AuthenticationExtensionsClientOutputs {
appid?: boolean;
credProps?: CredentialPropertiesOutput;
uvm?: UvmEntries;
hmacCreateSecret?: boolean;
}
interface AuthenticatorSelectionCriteria {
@ -374,7 +373,7 @@ interface DeviceOrientationEventInit extends EventInit {
gamma?: number | null;
}
interface DisplayMediaStreamConstraints {
interface DisplayMediaStreamOptions {
audio?: boolean | MediaTrackConstraints;
video?: boolean | MediaTrackConstraints;
}
@ -807,10 +806,6 @@ interface MediaQueryListEventInit extends EventInit {
media?: string;
}
interface MediaRecorderErrorEventInit extends EventInit {
error: DOMException;
}
interface MediaRecorderOptions {
audioBitsPerSecond?: number;
bitsPerSecond?: number;
@ -820,9 +815,9 @@ interface MediaRecorderOptions {
interface MediaSessionActionDetails {
action: MediaSessionAction;
fastSeek?: boolean | null;
seekOffset?: number | null;
seekTime?: number | null;
fastSeek?: boolean;
seekOffset?: number;
seekTime?: number;
}
interface MediaStreamAudioSourceOptions {
@ -1122,6 +1117,10 @@ interface PermissionDescriptor {
name: PermissionName;
}
interface PictureInPictureEventInit extends EventInit {
pictureInPictureWindow: PictureInPictureWindow;
}
interface PointerEventInit extends MouseEventInit {
coalescedEvents?: PointerEvent[];
height?: number;
@ -1315,6 +1314,8 @@ interface RTCIceCandidatePairStats extends RTCStats {
bytesReceived?: number;
bytesSent?: number;
currentRoundTripTime?: number;
lastPacketReceivedTimestamp?: DOMHighResTimeStamp;
lastPacketSentTimestamp?: DOMHighResTimeStamp;
localCandidateId: string;
nominated?: boolean;
remoteCandidateId: string;
@ -1329,18 +1330,47 @@ interface RTCIceCandidatePairStats extends RTCStats {
interface RTCIceServer {
credential?: string;
credentialType?: RTCIceCredentialType;
urls: string | string[];
username?: string;
}
interface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats {
audioLevel?: number;
bytesReceived?: number;
concealedSamples?: number;
concealmentEvents?: number;
decoderImplementation?: string;
estimatedPlayoutTimestamp?: DOMHighResTimeStamp;
fecPacketsDiscarded?: number;
fecPacketsReceived?: number;
firCount?: number;
frameHeight?: number;
frameWidth?: number;
framesDecoded?: number;
framesDropped?: number;
framesPerSecond?: number;
framesReceived?: number;
headerBytesReceived?: number;
insertedSamplesForDeceleration?: number;
jitterBufferDelay?: number;
jitterBufferEmittedCount?: number;
keyFramesDecoded?: number;
kind: string;
lastPacketReceivedTimestamp?: DOMHighResTimeStamp;
nackCount?: number;
packetsDiscarded?: number;
pliCount?: number;
qpSum?: number;
remoteId?: string;
removedSamplesForAcceleration?: number;
silentConcealedSamples?: number;
totalAudioEnergy?: number;
totalDecodeTime?: number;
totalInterFrameDelay?: number;
totalProcessingDelay?: number;
totalSamplesDuration?: number;
totalSamplesReceived?: number;
totalSquaredInterFrameDelay?: number;
}
interface RTCLocalSessionDescriptionInit {
@ -1359,11 +1389,27 @@ interface RTCOfferOptions extends RTCOfferAnswerOptions {
interface RTCOutboundRtpStreamStats extends RTCSentRtpStreamStats {
firCount?: number;
frameHeight?: number;
frameWidth?: number;
framesEncoded?: number;
framesPerSecond?: number;
framesSent?: number;
headerBytesSent?: number;
hugeFramesSent?: number;
keyFramesEncoded?: number;
mediaSourceId?: string;
nackCount?: number;
pliCount?: number;
qpSum?: number;
qualityLimitationResolutionChanges?: number;
remoteId?: string;
retransmittedBytesSent?: number;
retransmittedPacketsSent?: number;
rid?: string;
targetBitrate?: number;
totalEncodeTime?: number;
totalEncodedBytesTarget?: number;
totalPacketSendDelay?: number;
}
interface RTCPeerConnectionIceErrorEventInit extends EventInit {
@ -1381,7 +1427,6 @@ interface RTCPeerConnectionIceEventInit extends EventInit {
interface RTCReceivedRtpStreamStats extends RTCRtpStreamStats {
jitter?: number;
packetsDiscarded?: number;
packetsLost?: number;
packetsReceived?: number;
}
@ -1425,6 +1470,8 @@ interface RTCRtpContributingSource {
interface RTCRtpEncodingParameters extends RTCRtpCodingParameters {
active?: boolean;
maxBitrate?: number;
maxFramerate?: number;
networkPriority?: RTCPriorityType;
priority?: RTCPriorityType;
scaleResolutionDownBy?: number;
}
@ -1500,15 +1547,23 @@ interface RTCTransportStats extends RTCStats {
dtlsState: RTCDtlsTransportState;
localCertificateId?: string;
remoteCertificateId?: string;
rtcpTransportStatsId?: string;
selectedCandidatePairId?: string;
srtpCipher?: string;
tlsVersion?: string;
}
interface ReadableStreamReadDoneResult {
interface ReadableStreamGetReaderOptions {
/**
* Creates a ReadableStreamBYOBReader and locks the stream to the new reader.
*
* This call behaves the same way as the no-argument variant, except that it only works on readable byte streams, i.e. streams which were constructed specifically with the ability to handle "bring your own buffer" reading. The returned BYOB reader provides the ability to directly read individual chunks from the stream via its read() method, into developer-supplied buffers, allowing more precise control over allocation.
*/
mode?: ReadableStreamReaderMode;
}
interface ReadableStreamReadDoneResult<T> {
done: true;
value?: undefined;
value?: T;
}
interface ReadableStreamReadValueResult<T> {
@ -1792,6 +1847,21 @@ interface ULongRange {
min?: number;
}
interface UnderlyingByteSource {
autoAllocateChunkSize?: number;
cancel?: UnderlyingSourceCancelCallback;
pull?: (controller: ReadableByteStreamController) => void | PromiseLike<void>;
start?: (controller: ReadableByteStreamController) => any;
type: "bytes";
}
interface UnderlyingDefaultSource<R = any> {
cancel?: UnderlyingSourceCancelCallback;
pull?: (controller: ReadableStreamDefaultController<R>) => void | PromiseLike<void>;
start?: (controller: ReadableStreamDefaultController<R>) => any;
type?: undefined;
}
interface UnderlyingSink<W = any> {
abort?: UnderlyingSinkAbortCallback;
close?: UnderlyingSinkCloseCallback;
@ -1801,10 +1871,11 @@ interface UnderlyingSink<W = any> {
}
interface UnderlyingSource<R = any> {
autoAllocateChunkSize?: number;
cancel?: UnderlyingSourceCancelCallback;
pull?: UnderlyingSourcePullCallback<R>;
start?: UnderlyingSourceStartCallback<R>;
type?: undefined;
type?: ReadableStreamType;
}
interface ValidityStateFlags {
@ -1821,10 +1892,10 @@ interface ValidityStateFlags {
}
interface VideoColorSpaceInit {
fullRange?: boolean;
matrix?: VideoMatrixCoefficients;
primaries?: VideoColorPrimaries;
transfer?: VideoTransferCharacteristics;
fullRange?: boolean | null;
matrix?: VideoMatrixCoefficients | null;
primaries?: VideoColorPrimaries | null;
transfer?: VideoTransferCharacteristics | null;
}
interface VideoConfiguration {
@ -1839,7 +1910,7 @@ interface VideoConfiguration {
width: number;
}
interface VideoFrameMetadata {
interface VideoFrameCallbackMetadata {
captureTime?: DOMHighResTimeStamp;
expectedDisplayTime: DOMHighResTimeStamp;
height: number;
@ -1932,12 +2003,14 @@ interface ARIAMixin {
ariaChecked: string | null;
ariaColCount: string | null;
ariaColIndex: string | null;
ariaColIndexText: string | null;
ariaColSpan: string | null;
ariaCurrent: string | null;
ariaDisabled: string | null;
ariaExpanded: string | null;
ariaHasPopup: string | null;
ariaHidden: string | null;
ariaInvalid: string | null;
ariaKeyShortcuts: string | null;
ariaLabel: string | null;
ariaLevel: string | null;
@ -1954,6 +2027,7 @@ interface ARIAMixin {
ariaRoleDescription: string | null;
ariaRowCount: string | null;
ariaRowIndex: string | null;
ariaRowIndexText: string | null;
ariaRowSpan: string | null;
ariaSelected: string | null;
ariaSetSize: string | null;
@ -1962,6 +2036,7 @@ interface ARIAMixin {
ariaValueMin: string | null;
ariaValueNow: string | null;
ariaValueText: string | null;
role: string | null;
}
/** A controller object that allows you to abort one or more DOM requests as and when desired. */
@ -1997,7 +2072,8 @@ interface AbortSignal extends EventTarget {
declare var AbortSignal: {
prototype: AbortSignal;
new(): AbortSignal;
// abort(): AbortSignal; - To be re-added in the future
abort(reason?: any): AbortSignal;
timeout(milliseconds: number): AbortSignal;
};
interface AbstractRange {
@ -2132,7 +2208,7 @@ declare var AnimationPlaybackEvent: {
};
interface AnimationTimeline {
readonly currentTime: number | null;
readonly currentTime: CSSNumberish | null;
}
declare var AnimationTimeline: {
@ -2148,6 +2224,7 @@ interface Attr extends Node {
readonly ownerDocument: Document;
readonly ownerElement: Element | null;
readonly prefix: string | null;
/** @deprecated */
readonly specified: boolean;
value: string;
}
@ -2383,6 +2460,10 @@ declare var AuthenticatorAssertionResponse: {
/** Available only in secure contexts. */
interface AuthenticatorAttestationResponse extends AuthenticatorResponse {
readonly attestationObject: ArrayBuffer;
getAuthenticatorData(): ArrayBuffer;
getPublicKey(): ArrayBuffer | null;
getPublicKeyAlgorithm(): COSEAlgorithmIdentifier;
getTransports(): string[];
}
declare var AuthenticatorAttestationResponse: {
@ -2581,6 +2662,14 @@ declare var CSSConditionRule: {
new(): CSSConditionRule;
};
interface CSSContainerRule extends CSSConditionRule {
}
declare var CSSContainerRule: {
prototype: CSSContainerRule;
new(): CSSContainerRule;
};
interface CSSCounterStyleRule extends CSSRule {
additiveSymbols: string;
fallback: string;
@ -2609,6 +2698,18 @@ declare var CSSFontFaceRule: {
new(): CSSFontFaceRule;
};
interface CSSFontPaletteValuesRule extends CSSRule {
readonly basePalette: string;
readonly fontFamily: string;
readonly name: string;
readonly overrideColors: string;
}
declare var CSSFontPaletteValuesRule: {
prototype: CSSFontPaletteValuesRule;
new(): CSSFontPaletteValuesRule;
};
/** Any CSS at-rule that contains other rules nested within it. */
interface CSSGroupingRule extends CSSRule {
readonly cssRules: CSSRuleList;
@ -2623,6 +2724,7 @@ declare var CSSGroupingRule: {
interface CSSImportRule extends CSSRule {
readonly href: string;
readonly layerName: string | null;
readonly media: MediaList;
readonly styleSheet: CSSStyleSheet;
}
@ -2657,6 +2759,24 @@ declare var CSSKeyframesRule: {
new(): CSSKeyframesRule;
};
interface CSSLayerBlockRule extends CSSGroupingRule {
readonly name: string;
}
declare var CSSLayerBlockRule: {
prototype: CSSLayerBlockRule;
new(): CSSLayerBlockRule;
};
interface CSSLayerStatementRule extends CSSRule {
readonly nameList: ReadonlyArray<string>;
}
declare var CSSLayerStatementRule: {
prototype: CSSLayerStatementRule;
new(): CSSLayerStatementRule;
};
/** A single CSS @media rule. It implements the CSSConditionRule interface, and therefore the CSSGroupingRule and the CSSRule interface with a type value of 4 (CSSRule.MEDIA_RULE). */
interface CSSMediaRule extends CSSConditionRule {
readonly media: MediaList;
@ -2754,6 +2874,7 @@ interface CSSStyleDeclaration {
animationTimingFunction: string;
appearance: string;
aspectRatio: string;
backdropFilter: string;
backfaceVisibility: string;
background: string;
backgroundAttachment: string;
@ -2858,6 +2979,9 @@ interface CSSStyleDeclaration {
columnWidth: string;
columns: string;
contain: string;
container: string;
containerName: string;
containerType: string;
content: string;
counterIncrement: string;
counterReset: string;
@ -2888,6 +3012,7 @@ interface CSSStyleDeclaration {
fontFeatureSettings: string;
fontKerning: string;
fontOpticalSizing: string;
fontPalette: string;
fontSize: string;
fontSizeAdjust: string;
fontStretch: string;
@ -2925,6 +3050,7 @@ interface CSSStyleDeclaration {
gridTemplateColumns: string;
gridTemplateRows: string;
height: string;
hyphenateCharacter: string;
hyphens: string;
/** @deprecated */
imageOrientation: string;
@ -3001,6 +3127,7 @@ interface CSSStyleDeclaration {
outlineWidth: string;
overflow: string;
overflowAnchor: string;
overflowClipMargin: string;
overflowWrap: string;
overflowX: string;
overflowY: string;
@ -3458,6 +3585,7 @@ interface CanvasPath {
moveTo(x: number, y: number): void;
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
rect(x: number, y: number, w: number, h: number): void;
roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void;
}
interface CanvasPathDrawingStyles {
@ -3519,6 +3647,7 @@ interface CanvasText {
interface CanvasTextDrawingStyles {
direction: CanvasDirection;
font: string;
fontKerning: CanvasFontKerning;
textAlign: CanvasTextAlign;
textBaseline: CanvasTextBaseline;
}
@ -4380,7 +4509,10 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad
readonly documentElement: HTMLElement;
/** Returns document's URL. */
readonly documentURI: string;
/** Sets or gets the security domain of the document. */
/**
* Sets or gets the security domain of the document.
* @deprecated
*/
domain: string;
/** Retrieves a collection of all embed objects in the document. */
readonly embeds: HTMLCollectionOf<HTMLEmbedElement>;
@ -4534,7 +4666,6 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad
createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent;
createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent;
createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent;
createEvent(eventInterface: "MediaRecorderErrorEvent"): MediaRecorderErrorEvent;
createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent;
createEvent(eventInterface: "MessageEvent"): MessageEvent;
createEvent(eventInterface: "MouseEvent"): MouseEvent;
@ -4545,6 +4676,7 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad
createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent;
createEvent(eventInterface: "PaymentMethodChangeEvent"): PaymentMethodChangeEvent;
createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent;
createEvent(eventInterface: "PictureInPictureEvent"): PictureInPictureEvent;
createEvent(eventInterface: "PointerEvent"): PointerEvent;
createEvent(eventInterface: "PopStateEvent"): PopStateEvent;
createEvent(eventInterface: "ProgressEvent"): ProgressEvent;
@ -4663,6 +4795,7 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad
/**
* Returns a Boolean value that indicates whether the specified command is in the indeterminate state.
* @param commandId String that specifies a command identifier.
* @deprecated
*/
queryCommandIndeterm(commandId: string): boolean;
/**
@ -4680,6 +4813,7 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad
/**
* Returns the current value of the document, range, or current selection for the given command.
* @param commandId String that specifies a command identifier.
* @deprecated
*/
queryCommandValue(commandId: string): string;
/** @deprecated */
@ -4838,6 +4972,13 @@ interface EXT_sRGB {
interface EXT_shader_texture_lod {
}
interface EXT_texture_compression_bptc {
readonly COMPRESSED_RGBA_BPTC_UNORM_EXT: GLenum;
readonly COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: GLenum;
readonly COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: GLenum;
readonly COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: GLenum;
}
interface EXT_texture_compression_rgtc {
readonly COMPRESSED_RED_GREEN_RGTC2_EXT: GLenum;
readonly COMPRESSED_RED_RGTC1_EXT: GLenum;
@ -4851,6 +4992,17 @@ interface EXT_texture_filter_anisotropic {
readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum;
}
interface EXT_texture_norm16 {
readonly R16_EXT: GLenum;
readonly R16_SNORM_EXT: GLenum;
readonly RG16_EXT: GLenum;
readonly RG16_SNORM_EXT: GLenum;
readonly RGB16_EXT: GLenum;
readonly RGB16_SNORM_EXT: GLenum;
readonly RGBA16_EXT: GLenum;
readonly RGBA16_SNORM_EXT: GLenum;
}
interface ElementEventMap {
"fullscreenchange": Event;
"fullscreenerror": Event;
@ -5033,6 +5185,7 @@ declare var ErrorEvent: {
interface Event {
/** Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise. */
readonly bubbles: boolean;
/** @deprecated */
cancelBubble: boolean;
/** Returns true or false depending on how event was initialized. Its return 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. */
readonly cancelable: boolean;
@ -5569,6 +5722,7 @@ interface GlobalEventHandlersEventMap {
"auxclick": MouseEvent;
"beforeinput": InputEvent;
"blur": FocusEvent;
"cancel": Event;
"canplay": Event;
"canplaythrough": Event;
"change": Event;
@ -5669,11 +5823,13 @@ interface GlobalEventHandlers {
onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
/**
* Fires when the object loses the input focus.
* @param ev The focus event.
*/
onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
/**
* Occurs when playback is possible, but would require further buffering.
* @param ev The event.
@ -6187,6 +6343,7 @@ interface HTMLCanvasElement extends HTMLElement {
* @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image.
*/
toDataURL(type?: string, quality?: any): string;
transferControlToOffscreen(): OffscreenCanvas;
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@ -8770,13 +8927,13 @@ declare var IDBObjectStore: {
};
interface IDBOpenDBRequestEventMap extends IDBRequestEventMap {
"blocked": Event;
"blocked": IDBVersionChangeEvent;
"upgradeneeded": IDBVersionChangeEvent;
}
/** Also inherits methods from its parents IDBRequest and EventTarget. */
interface IDBOpenDBRequest extends IDBRequest<IDBDatabase> {
onblocked: ((this: IDBOpenDBRequest, ev: Event) => any) | null;
onblocked: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;
onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;
addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
@ -8901,7 +9058,7 @@ declare var ImageBitmap: {
interface ImageBitmapRenderingContext {
/** Returns the canvas element that the context is bound to. */
readonly canvas: HTMLCanvasElement;
readonly canvas: HTMLCanvasElement | OffscreenCanvas;
/** Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound. */
transferFromImageBitmap(bitmap: ImageBitmap | null): void;
}
@ -8932,6 +9089,7 @@ interface InnerHTML {
innerHTML: string;
}
/** Available only in secure contexts. */
interface InputDeviceInfo extends MediaDeviceInfo {
}
@ -9185,7 +9343,7 @@ interface MediaDevicesEventMap {
interface MediaDevices extends EventTarget {
ondevicechange: ((this: MediaDevices, ev: Event) => any) | null;
enumerateDevices(): Promise<MediaDeviceInfo[]>;
getDisplayMedia(constraints?: DisplayMediaStreamConstraints): Promise<MediaStream>;
getDisplayMedia(options?: DisplayMediaStreamOptions): Promise<MediaStream>;
getSupportedConstraints(): MediaTrackSupportedConstraints;
getUserMedia(constraints?: MediaStreamConstraints): Promise<MediaStream>;
addEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@ -9392,7 +9550,7 @@ declare var MediaQueryListEvent: {
interface MediaRecorderEventMap {
"dataavailable": BlobEvent;
"error": MediaRecorderErrorEvent;
"error": Event;
"pause": Event;
"resume": Event;
"start": Event;
@ -9403,7 +9561,7 @@ interface MediaRecorder extends EventTarget {
readonly audioBitsPerSecond: number;
readonly mimeType: string;
ondataavailable: ((this: MediaRecorder, ev: BlobEvent) => any) | null;
onerror: ((this: MediaRecorder, ev: MediaRecorderErrorEvent) => any) | null;
onerror: ((this: MediaRecorder, ev: Event) => any) | null;
onpause: ((this: MediaRecorder, ev: Event) => any) | null;
onresume: ((this: MediaRecorder, ev: Event) => any) | null;
onstart: ((this: MediaRecorder, ev: Event) => any) | null;
@ -9428,15 +9586,6 @@ declare var MediaRecorder: {
isTypeSupported(type: string): boolean;
};
interface MediaRecorderErrorEvent extends Event {
readonly error: DOMException;
}
declare var MediaRecorderErrorEvent: {
prototype: MediaRecorderErrorEvent;
new(type: string, eventInitDict: MediaRecorderErrorEventInit): MediaRecorderErrorEvent;
};
interface MediaSession {
metadata: MediaMetadata | null;
playbackState: MediaSessionPlaybackState;
@ -9889,12 +10038,14 @@ interface NavigatorID {
readonly appName: string;
/** @deprecated */
readonly appVersion: string;
/** @deprecated */
readonly platform: string;
/** @deprecated */
readonly product: string;
/** @deprecated */
readonly productSub: string;
readonly userAgent: string;
/** @deprecated */
readonly vendor: string;
/** @deprecated */
readonly vendorSub: string;
@ -10143,6 +10294,16 @@ declare var Notification: {
requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise<NotificationPermission>;
};
interface OES_draw_buffers_indexed {
blendEquationSeparateiOES(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum): void;
blendEquationiOES(buf: GLuint, mode: GLenum): void;
blendFuncSeparateiOES(buf: GLuint, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;
blendFunciOES(buf: GLuint, src: GLenum, dst: GLenum): void;
colorMaskiOES(buf: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean): void;
disableiOES(target: GLenum, index: GLuint): void;
enableiOES(target: GLenum, index: GLuint): void;
}
/** The OES_element_index_uint extension is part of the WebGL API and adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements(). */
interface OES_element_index_uint {
}
@ -10221,6 +10382,57 @@ declare var OfflineAudioContext: {
new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext;
};
interface OffscreenCanvasEventMap {
"contextlost": Event;
"contextrestored": Event;
}
interface OffscreenCanvas extends EventTarget {
/**
* These attributes return the dimensions of the OffscreenCanvas object's bitmap.
*
* They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).
*/
height: number;
oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null;
oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null;
/**
* These attributes return the dimensions of the OffscreenCanvas object's bitmap.
*
* They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).
*/
width: number;
/**
* Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API.
*
* This specification defines the "2d" context below, which is similar but distinct from the "2d" context that is created from a canvas element. The WebGL specifications define the "webgl" and "webgl2" contexts. [WEBGL]
*
* Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "2d" context after getting a "webgl" context).
*/
getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null;
/** Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image. */
transferToImageBitmap(): ImageBitmap;
addEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare var OffscreenCanvas: {
prototype: OffscreenCanvas;
new(width: number, height: number): OffscreenCanvas;
};
interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {
readonly canvas: OffscreenCanvas;
commit(): void;
}
declare var OffscreenCanvasRenderingContext2D: {
prototype: OffscreenCanvasRenderingContext2D;
new(): OffscreenCanvasRenderingContext2D;
};
/** The OscillatorNode interface represents a periodic waveform, such as a sine wave. It is an AudioScheduledSourceNode audio-processing module that causes a specified frequency of a given wave to be created—in effect, a constant tone. */
interface OscillatorNode extends AudioScheduledSourceNode {
readonly detune: AudioParam;
@ -10681,6 +10893,7 @@ interface PermissionStatusEventMap {
}
interface PermissionStatus extends EventTarget {
readonly name: string;
onchange: ((this: PermissionStatus, ev: Event) => any) | null;
readonly state: PermissionState;
addEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@ -10703,6 +10916,15 @@ declare var Permissions: {
new(): Permissions;
};
interface PictureInPictureEvent extends Event {
readonly pictureInPictureWindow: PictureInPictureWindow;
}
declare var PictureInPictureEvent: {
prototype: PictureInPictureEvent;
new(type: string, eventInitDict: PictureInPictureEventInit): PictureInPictureEvent;
};
interface PictureInPictureWindowEventMap {
"resize": Event;
}
@ -10854,6 +11076,7 @@ declare var PromiseRejectionEvent: {
/** Available only in secure contexts. */
interface PublicKeyCredential extends Credential {
readonly authenticatorAttachment: string | null;
readonly rawId: ArrayBuffer;
readonly response: AuthenticatorResponse;
getClientExtensionResults(): AuthenticationExtensionsClientOutputs;
@ -10902,6 +11125,7 @@ declare var PushSubscription: {
/** Available only in secure contexts. */
interface PushSubscriptionOptions {
readonly applicationServerKey: ArrayBuffer | null;
readonly userVisibleOnly: boolean;
}
declare var PushSubscriptionOptions: {
@ -11386,7 +11610,9 @@ declare var ReadableByteStreamController: {
interface ReadableStream<R = any> {
readonly locked: boolean;
cancel(reason?: any): Promise<void>;
getReader(options: { mode: "byob" }): ReadableStreamBYOBReader;
getReader(): ReadableStreamDefaultReader<R>;
getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader<R>;
pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;
pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;
tee(): [ReadableStream<R>, ReadableStream<R>];
@ -11394,11 +11620,13 @@ interface ReadableStream<R = any> {
declare var ReadableStream: {
prototype: ReadableStream;
new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number }): ReadableStream<Uint8Array>;
new<R = any>(underlyingSource: UnderlyingDefaultSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;
new<R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;
};
interface ReadableStreamBYOBReader extends ReadableStreamGenericReader {
read(view: ArrayBufferView): Promise<ReadableStreamReadResult<ArrayBufferView>>;
read<T extends ArrayBufferView>(view: T): Promise<ReadableStreamReadResult<T>>;
releaseLock(): void;
}
@ -11555,7 +11783,6 @@ interface Response extends Body {
declare var Response: {
prototype: Response;
new(body?: BodyInit | null, init?: ResponseInit): Response;
json(data: unknown, init?: ResponseInit): Response;
error(): Response;
redirect(url: string | URL, status?: number): Response;
};
@ -13020,6 +13247,7 @@ interface SVGStyleElement extends SVGElement, LinkStyle {
disabled: boolean;
media: string;
title: string;
/** @deprecated */
type: string;
addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
@ -13382,6 +13610,7 @@ interface Selection {
empty(): void;
extend(node: Node, offset?: number): void;
getRangeAt(index: number): Range;
modify(alter?: string, direction?: string, granularity?: string): void;
removeAllRanges(): void;
removeRange(range: Range): void;
selectAllChildren(node: Node): void;
@ -13780,6 +14009,7 @@ interface StorageEvent extends Event {
readonly storageArea: Storage | null;
/** Returns the URL of the document whose storage item changed. */
readonly url: string;
/** @deprecated */
initStorageEvent(type: string, bubbles?: boolean, cancelable?: boolean, key?: string | null, oldValue?: string | null, newValue?: string | null, url?: string | URL, storageArea?: Storage | null): void;
}
@ -14562,8 +14792,8 @@ interface WEBGL_lose_context {
interface WEBGL_multi_draw {
multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | GLint[], firstsOffset: GLuint, countsList: Int32Array | GLsizei[], countsOffset: GLuint, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | GLint[], firstsOffset: GLuint, countsList: Int32Array | GLsizei[], countsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | GLint[], countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: GLuint, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | GLint[], countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | GLsizei[], countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: GLuint, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | GLsizei[], countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: GLuint, drawcount: GLsizei): void;
}
/** A WaveShaperNode always has exactly one input and one output. */
@ -15913,7 +16143,7 @@ declare var WebGLRenderingContext: {
};
interface WebGLRenderingContextBase {
readonly canvas: HTMLCanvasElement;
readonly canvas: HTMLCanvasElement | OffscreenCanvas;
readonly drawingBufferHeight: GLsizei;
readonly drawingBufferWidth: GLsizei;
activeTexture(texture: GLenum): void;
@ -15973,35 +16203,39 @@ interface WebGLRenderingContextBase {
getBufferParameter(target: GLenum, pname: GLenum): any;
getContextAttributes(): WebGLContextAttributes | null;
getError(): GLenum;
getExtension(extensionName: "ANGLE_instanced_arrays"): ANGLE_instanced_arrays | null;
getExtension(extensionName: "EXT_blend_minmax"): EXT_blend_minmax | null;
getExtension(extensionName: "EXT_color_buffer_float"): EXT_color_buffer_float | null;
getExtension(extensionName: "EXT_color_buffer_half_float"): EXT_color_buffer_half_float | null;
getExtension(extensionName: "EXT_float_blend"): EXT_float_blend | null;
getExtension(extensionName: "EXT_texture_filter_anisotropic"): EXT_texture_filter_anisotropic | null;
getExtension(extensionName: "EXT_frag_depth"): EXT_frag_depth | null;
getExtension(extensionName: "EXT_shader_texture_lod"): EXT_shader_texture_lod | null;
getExtension(extensionName: "EXT_sRGB"): EXT_sRGB | null;
getExtension(extensionName: "EXT_shader_texture_lod"): EXT_shader_texture_lod | null;
getExtension(extensionName: "EXT_texture_compression_bptc"): EXT_texture_compression_bptc | null;
getExtension(extensionName: "EXT_texture_compression_rgtc"): EXT_texture_compression_rgtc | null;
getExtension(extensionName: "EXT_texture_filter_anisotropic"): EXT_texture_filter_anisotropic | null;
getExtension(extensionName: "KHR_parallel_shader_compile"): KHR_parallel_shader_compile | null;
getExtension(extensionName: "OES_element_index_uint"): OES_element_index_uint | null;
getExtension(extensionName: "OES_fbo_render_mipmap"): OES_fbo_render_mipmap | null;
getExtension(extensionName: "OES_standard_derivatives"): OES_standard_derivatives | null;
getExtension(extensionName: "OES_texture_float"): OES_texture_float | null;
getExtension(extensionName: "OES_texture_float_linear"): OES_texture_float_linear | null;
getExtension(extensionName: "OES_texture_half_float"): OES_texture_half_float | null;
getExtension(extensionName: "OES_texture_half_float_linear"): OES_texture_half_float_linear | null;
getExtension(extensionName: "OES_vertex_array_object"): OES_vertex_array_object | null;
getExtension(extensionName: "OVR_multiview2"): OVR_multiview2 | null;
getExtension(extensionName: "WEBGL_color_buffer_float"): WEBGL_color_buffer_float | null;
getExtension(extensionName: "WEBGL_compressed_texture_astc"): WEBGL_compressed_texture_astc | null;
getExtension(extensionName: "WEBGL_compressed_texture_etc"): WEBGL_compressed_texture_etc | null;
getExtension(extensionName: "WEBGL_compressed_texture_etc1"): WEBGL_compressed_texture_etc1 | null;
getExtension(extensionName: "WEBGL_compressed_texture_s3tc"): WEBGL_compressed_texture_s3tc | null;
getExtension(extensionName: "WEBGL_compressed_texture_s3tc_srgb"): WEBGL_compressed_texture_s3tc_srgb | null;
getExtension(extensionName: "WEBGL_debug_renderer_info"): WEBGL_debug_renderer_info | null;
getExtension(extensionName: "WEBGL_debug_shaders"): WEBGL_debug_shaders | null;
getExtension(extensionName: "WEBGL_depth_texture"): WEBGL_depth_texture | null;
getExtension(extensionName: "WEBGL_draw_buffers"): WEBGL_draw_buffers | null;
getExtension(extensionName: "WEBGL_lose_context"): WEBGL_lose_context | null;
getExtension(extensionName: "WEBGL_depth_texture"): WEBGL_depth_texture | null;
getExtension(extensionName: "WEBGL_debug_renderer_info"): WEBGL_debug_renderer_info | null;
getExtension(extensionName: "WEBGL_compressed_texture_s3tc"): WEBGL_compressed_texture_s3tc | null;
getExtension(extensionName: "OES_texture_half_float_linear"): OES_texture_half_float_linear | null;
getExtension(extensionName: "OES_texture_half_float"): OES_texture_half_float | null;
getExtension(extensionName: "OES_texture_float_linear"): OES_texture_float_linear | null;
getExtension(extensionName: "OES_texture_float"): OES_texture_float | null;
getExtension(extensionName: "OES_standard_derivatives"): OES_standard_derivatives | null;
getExtension(extensionName: "OES_element_index_uint"): OES_element_index_uint | null;
getExtension(extensionName: "ANGLE_instanced_arrays"): ANGLE_instanced_arrays | null;
getExtension(extensionName: "WEBGL_multi_draw"): WEBGL_multi_draw | null;
getExtension(name: string): any;
getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any;
getParameter(pname: GLenum): any;
@ -17387,7 +17621,7 @@ interface UnderlyingSourceStartCallback<R> {
}
interface VideoFrameRequestCallback {
(now: DOMHighResTimeStamp, metadata: VideoFrameMetadata): void;
(now: DOMHighResTimeStamp, metadata: VideoFrameCallbackMetadata): void;
}
interface VoidFunction {
@ -17746,11 +17980,13 @@ declare var onanimationend: ((this: Window, ev: AnimationEvent) => any) | null;
declare var onanimationiteration: ((this: Window, ev: AnimationEvent) => any) | null;
declare var onanimationstart: ((this: Window, ev: AnimationEvent) => any) | null;
declare var onauxclick: ((this: Window, ev: MouseEvent) => any) | null;
declare var onbeforeinput: ((this: Window, ev: InputEvent) => any) | null;
/**
* Fires when the object loses the input focus.
* @param ev The focus event.
*/
declare var onblur: ((this: Window, ev: FocusEvent) => any) | null;
declare var oncancel: ((this: Window, ev: Event) => any) | null;
/**
* Occurs when playback is possible, but would require further buffering.
* @param ev The event.
@ -18062,7 +18298,7 @@ type BodyInit = ReadableStream | XMLHttpRequestBodyInit;
type BufferSource = ArrayBufferView | ArrayBuffer;
type COSEAlgorithmIdentifier = number;
type CSSNumberish = number;
type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap;
type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas;
type ClipboardItemData = Promise<string | Blob>;
type ClipboardItems = ClipboardItem[];
type ConstrainBoolean = boolean | ConstrainBooleanParameters;
@ -18099,20 +18335,19 @@ type MediaProvider = MediaStream | MediaSource | Blob;
type MessageEventSource = WindowProxy | MessagePort | ServiceWorker;
type MutationRecordType = "attributes" | "characterData" | "childList";
type NamedCurve = string;
type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;
type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null;
type OnErrorEventHandler = OnErrorEventHandlerNonNull | null;
type PerformanceEntryList = PerformanceEntry[];
type ReadableStreamController<T> = ReadableStreamDefaultController<T>;
type ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult;
type ReadableStreamReader<T> = ReadableStreamDefaultReader<T>;
type ReadableStreamController<T> = ReadableStreamDefaultController<T> | ReadableByteStreamController;
type ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult<T>;
type ReadableStreamReader<T> = ReadableStreamDefaultReader<T> | ReadableStreamBYOBReader;
type RenderingContext = CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;
type RequestInfo = Request | string;
type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement;
type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | OffscreenCanvas;
type TimerHandler = string | Function;
type Transferable = ArrayBuffer | MessagePort | ImageBitmap;
type Transferable = OffscreenCanvas | ImageBitmap | MessagePort | ReadableStream | WritableStream | TransformStream | ArrayBuffer;
type Uint32List = Uint32Array | GLuint[];
type UvmEntries = UvmEntry[];
type UvmEntry = number[];
type VibratePattern = number | number[];
type WindowProxy = Window;
type XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string;
@ -18124,7 +18359,7 @@ type AttestationConveyancePreference = "direct" | "enterprise" | "indirect" | "n
type AudioContextLatencyCategory = "balanced" | "interactive" | "playback";
type AudioContextState = "closed" | "running" | "suspended";
type AuthenticatorAttachment = "cross-platform" | "platform";
type AuthenticatorTransport = "ble" | "internal" | "nfc" | "usb";
type AuthenticatorTransport = "ble" | "hybrid" | "internal" | "nfc" | "usb";
type AutoKeyword = "auto";
type AutomationRate = "a-rate" | "k-rate";
type BinaryType = "arraybuffer" | "blob";
@ -18185,12 +18420,13 @@ type MediaKeySessionClosedReason = "closed-by-application" | "hardware-context-r
type MediaKeySessionType = "persistent-license" | "temporary";
type MediaKeyStatus = "expired" | "internal-error" | "output-downscaled" | "output-restricted" | "released" | "status-pending" | "usable" | "usable-in-future";
type MediaKeysRequirement = "not-allowed" | "optional" | "required";
type MediaSessionAction = "hangup" | "nexttrack" | "pause" | "play" | "previoustrack" | "seekbackward" | "seekforward" | "seekto" | "skipad" | "stop" | "togglecamera" | "togglemicrophone";
type MediaSessionAction = "nexttrack" | "pause" | "play" | "previoustrack" | "seekbackward" | "seekforward" | "seekto" | "skipad" | "stop";
type MediaSessionPlaybackState = "none" | "paused" | "playing";
type MediaStreamTrackState = "ended" | "live";
type NavigationTimingType = "back_forward" | "navigate" | "prerender" | "reload";
type NotificationDirection = "auto" | "ltr" | "rtl";
type NotificationPermission = "default" | "denied" | "granted";
type OffscreenRenderingContextId = "2d" | "bitmaprenderer" | "webgl" | "webgl2" | "webgpu";
type OrientationLockType = "any" | "landscape" | "landscape-primary" | "landscape-secondary" | "natural" | "portrait" | "portrait-primary" | "portrait-secondary";
type OrientationType = "landscape-primary" | "landscape-secondary" | "portrait-primary" | "portrait-secondary";
type OscillatorType = "custom" | "sawtooth" | "sine" | "square" | "triangle";
@ -18215,7 +18451,6 @@ type RTCErrorDetailType = "data-channel-failure" | "dtls-failure" | "fingerprint
type RTCIceCandidateType = "host" | "prflx" | "relay" | "srflx";
type RTCIceComponent = "rtcp" | "rtp";
type RTCIceConnectionState = "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new";
type RTCIceCredentialType = "password";
type RTCIceGathererState = "complete" | "gathering" | "new";
type RTCIceGatheringState = "complete" | "gathering" | "new";
type RTCIceProtocol = "tcp" | "udp";
@ -18230,7 +18465,9 @@ type RTCSctpTransportState = "closed" | "connected" | "connecting";
type RTCSdpType = "answer" | "offer" | "pranswer" | "rollback";
type RTCSignalingState = "closed" | "have-local-offer" | "have-local-pranswer" | "have-remote-offer" | "have-remote-pranswer" | "stable";
type RTCStatsIceCandidatePairState = "failed" | "frozen" | "in-progress" | "inprogress" | "succeeded" | "waiting";
type RTCStatsType = "candidate-pair" | "certificate" | "codec" | "csrc" | "data-channel" | "inbound-rtp" | "local-candidate" | "media-source" | "outbound-rtp" | "peer-connection" | "remote-candidate" | "remote-inbound-rtp" | "remote-outbound-rtp" | "track" | "transport";
type RTCStatsType = "candidate-pair" | "certificate" | "codec" | "data-channel" | "inbound-rtp" | "local-candidate" | "media-source" | "outbound-rtp" | "peer-connection" | "remote-candidate" | "remote-inbound-rtp" | "remote-outbound-rtp" | "track" | "transport";
type ReadableStreamReaderMode = "byob";
type ReadableStreamType = "bytes";
type ReadyState = "closed" | "ended" | "open";
type RecordingState = "inactive" | "paused" | "recording";
type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";

View file

@ -46,6 +46,10 @@ interface Cache {
addAll(requests: Iterable<RequestInfo>): Promise<void>;
}
interface CanvasPath {
roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable<number | DOMPointInit>): void;
}
interface CanvasPathDrawingStyles {
setLineDash(segments: Iterable<number>): void;
}
@ -273,8 +277,8 @@ interface WEBGL_draw_buffers {
interface WEBGL_multi_draw {
multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: GLuint, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: GLuint, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLint>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLint>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, drawcount: GLsizei): void;
}
interface WebGL2RenderingContextBase {

View file

@ -41,7 +41,7 @@ interface PromiseConstructor {
all<T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]> }>;
// see: lib.es2015.iterable.d.ts
// all<T>(values: Iterable<T | PromiseLike<T>>): Promise<T[]>;
// all<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>;
/**
* Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
@ -52,7 +52,7 @@ interface PromiseConstructor {
race<T extends readonly unknown[] | []>(values: T): Promise<Awaited<T[number]>>;
// see: lib.es2015.iterable.d.ts
// race<T>(values: Iterable<T>): Promise<T extends PromiseLike<infer U> ? U : T>;
// race<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;
/**
* Creates a new rejected promise for the provided reason.
@ -66,13 +66,18 @@ interface PromiseConstructor {
* @returns A resolved promise.
*/
resolve(): Promise<void>;
/**
* Creates a new resolved promise for the provided value.
* @param value A promise.
* @returns A promise whose internal state matches the provided promise.
*/
resolve<T>(value: T | PromiseLike<T>): Promise<T>;
resolve<T>(value: T): Promise<Awaited<T>>;
/**
* Creates a new resolved promise for the provided value.
* @param value A promise.
* @returns A promise whose internal state matches the provided promise.
*/
resolve<T>(value: T | PromiseLike<T>): Promise<Awaited<T>>;
}
declare var Promise: PromiseConstructor;

View file

@ -98,7 +98,7 @@ interface ProxyHandler<T extends object> {
* @param target The original object which is being proxied.
* @param p The name or `Symbol` of the property to set.
* @param receiver The object to which the assignment was originally directed.
* @returns `A `Boolean` indicating whether or not the property was set.
* @returns A `Boolean` indicating whether or not the property was set.
*/
set?(target: T, p: string | symbol, newValue: any, receiver: any): boolean;

View file

@ -26,6 +26,11 @@ declare namespace Reflect {
* @param thisArgument The object to be used as the this object.
* @param argumentsList An array of argument values to be passed to the function.
*/
function apply<T, A extends readonly any[], R>(
target: (this: T, ...args: A) => R,
thisArgument: T,
argumentsList: Readonly<A>,
): R;
function apply(target: Function, thisArgument: any, argumentsList: ArrayLike<any>): any;
/**
@ -35,6 +40,11 @@ declare namespace Reflect {
* @param argumentsList An array of argument values to be passed to the constructor.
* @param newTarget The constructor to be used as the `new.target` object.
*/
function construct<A extends readonly any[], R>(
target: new (...args: A) => R,
argumentsList: Readonly<A>,
newTarget?: new (...args: any) => any,
): R;
function construct(target: Function, argumentsList: ArrayLike<any>, newTarget?: Function): any;
/**
@ -61,7 +71,11 @@ declare namespace Reflect {
* @param receiver The reference to use as the `this` value in the getter function,
* if `target[propertyKey]` is an accessor property.
*/
function get(target: object, propertyKey: PropertyKey, receiver?: any): any;
function get<T extends object, P extends PropertyKey>(
target: T,
propertyKey: P,
receiver?: unknown,
): P extends keyof T ? T[P] : any;
/**
* Gets the own property descriptor of the specified object.
@ -69,7 +83,10 @@ declare namespace Reflect {
* @param target Object that contains the property.
* @param propertyKey The property name.
*/
function getOwnPropertyDescriptor(target: object, propertyKey: PropertyKey): PropertyDescriptor | undefined;
function getOwnPropertyDescriptor<T extends object, P extends PropertyKey>(
target: T,
propertyKey: P,
): TypedPropertyDescriptor<P extends keyof T ? T[P] : any> | undefined;
/**
* Returns the prototype of an object.
@ -111,6 +128,12 @@ declare namespace Reflect {
* @param receiver The reference to use as the `this` value in the setter function,
* if `target[propertyKey]` is an accessor property.
*/
function set<T extends object, P extends PropertyKey>(
target: T,
propertyKey: P,
value: P extends keyof T ? T[P] : any,
receiver?: any,
): boolean;
function set(target: object, propertyKey: PropertyKey, value: any, receiver?: any): boolean;
/**

View file

@ -239,9 +239,9 @@ interface String {
match(matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null;
/**
* Replaces first match with string or all matches with RegExp.
* @param searchValue A string or RegExp search value.
* @param replaceValue A string containing the text to replace for match.
* Passes a string and {@linkcode replaceValue} to the `[Symbol.replace]` method on {@linkcode searchValue}. This method is expected to implement its own replacement algorithm.
* @param searchValue An object that supports searching for and replacing matches within a string.
* @param replaceValue The replacement text.
*/
replace(searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string;

View file

@ -23,3 +23,4 @@ and limitations under the License.
/// <reference lib="es2019.object" />
/// <reference lib="es2019.string" />
/// <reference lib="es2019.symbol" />
/// <reference lib="es2019.intl" />

25
cli/tsc/dts/lib.es2019.intl.d.ts vendored Normal file
View file

@ -0,0 +1,25 @@
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/// <reference no-default-lib="true"/>
declare namespace Intl {
interface DateTimeFormatPartTypesRegistry {
unknown: any
}
}

View file

@ -103,7 +103,7 @@ declare namespace Intl {
*
* [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument).
*/
type LocalesArgument = UnicodeBCP47LocaleIdentifier | Locale | (UnicodeBCP47LocaleIdentifier | Locale)[] | undefined;
type LocalesArgument = UnicodeBCP47LocaleIdentifier | Locale | readonly (UnicodeBCP47LocaleIdentifier | Locale)[] | undefined;
/**
* An object with some or all of properties of `options` parameter

View file

@ -214,12 +214,6 @@ interface ObjectConstructor {
*/
seal<T>(o: T): T;
/**
* Prevents the modification of existing property attributes and values, and prevents the addition of new properties.
* @param a Object on which to lock the attributes.
*/
freeze<T>(a: T[]): readonly T[];
/**
* Prevents the modification of existing property attributes and values, and prevents the addition of new properties.
* @param f Object on which to lock the attributes.
@ -449,8 +443,8 @@ interface String {
/**
* Replaces text in a string, using a regular expression or search string.
* @param searchValue A string to search for.
* @param replaceValue A string containing the text to replace for every successful match of searchValue in this string.
* @param searchValue A string or regular expression to search for.
* @param replaceValue A string containing the text to replace. When the {@linkcode searchValue} is a `RegExp`, all matches are replaced if the `g` flag is set (or only those matches at the beginning, if the `y` flag is also present). Otherwise, only the first match of {@linkcode searchValue} is replaced.
*/
replace(searchValue: string | RegExp, replaceValue: string): string;
@ -908,7 +902,17 @@ interface Date {
interface DateConstructor {
new(): Date;
new(value: number | string): Date;
new(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date;
/**
* Creates a new Date.
* @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year.
* @param monthIndex The month as a number between 0 and 11 (January to December).
* @param date The date as a number between 1 and 31.
* @param hours Must be supplied if minutes is supplied. A number from 0 to 23 (midnight to 11pm) that specifies the hour.
* @param minutes Must be supplied if seconds is supplied. A number from 0 to 59 that specifies the minutes.
* @param seconds Must be supplied if milliseconds is supplied. A number from 0 to 59 that specifies the seconds.
* @param ms A number from 0 to 999 that specifies the milliseconds.
*/
new(year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date;
(): string;
readonly prototype: Date;
/**
@ -919,14 +923,15 @@ interface DateConstructor {
/**
* Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date.
* @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year.
* @param month The month as a number between 0 and 11 (January to December).
* @param monthIndex The month as a number between 0 and 11 (January to December).
* @param date The date as a number between 1 and 31.
* @param hours Must be supplied if minutes is supplied. A number from 0 to 23 (midnight to 11pm) that specifies the hour.
* @param minutes Must be supplied if seconds is supplied. A number from 0 to 59 that specifies the minutes.
* @param seconds Must be supplied if milliseconds is supplied. A number from 0 to 59 that specifies the seconds.
* @param ms A number from 0 to 999 that specifies the milliseconds.
*/
UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;
UTC(year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;
/** Returns the number of milliseconds elapsed since midnight, January 1, 1970 Universal Coordinated Time (UTC). */
now(): number;
}
@ -941,6 +946,10 @@ interface RegExpMatchArray extends Array<string> {
* A copy of the search string.
*/
input?: string;
/**
* The first match. This will always be present because `null` will be returned if there are no matches.
*/
0: string;
}
interface RegExpExecArray extends Array<string> {
@ -952,6 +961,10 @@ interface RegExpExecArray extends Array<string> {
* A copy of the search string.
*/
input: string;
/**
* The first match. This will always be present because `null` will be returned if there are no matches.
*/
0: string;
}
interface RegExp {
@ -1532,8 +1545,8 @@ interface Promise<T> {
*/
type Awaited<T> =
T extends null | undefined ? T : // special case for `null | undefined` when not in `--strictNullChecks` mode
T extends object & { then(onfulfilled: infer F): any } ? // `await` only unwraps object types with a callable `then`. Non-object types are not unwrapped
F extends ((value: infer V, ...args: any) => any) ? // if the argument to `then` is callable, extracts the first argument
T extends object & { then(onfulfilled: infer F, ...args: infer _): any } ? // `await` only unwraps object types with a callable `then`. Non-object types are not unwrapped
F extends ((value: infer V, ...args: infer _) => any) ? // if the argument to `then` is callable, extracts the first argument
Awaited<V> : // recursively unwrap the value
never : // the argument to `then` was not callable
T; // non-object or non-thenable

View file

@ -500,9 +500,18 @@ interface RTCEncodedVideoFrameMetadata {
width?: number;
}
interface ReadableStreamReadDoneResult {
interface ReadableStreamGetReaderOptions {
/**
* Creates a ReadableStreamBYOBReader and locks the stream to the new reader.
*
* This call behaves the same way as the no-argument variant, except that it only works on readable byte streams, i.e. streams which were constructed specifically with the ability to handle "bring your own buffer" reading. The returned BYOB reader provides the ability to directly read individual chunks from the stream via its read() method, into developer-supplied buffers, allowing more precise control over allocation.
*/
mode?: ReadableStreamReaderMode;
}
interface ReadableStreamReadDoneResult<T> {
done: true;
value?: undefined;
value?: T;
}
interface ReadableStreamReadValueResult<T> {
@ -658,6 +667,21 @@ interface Transformer<I = any, O = any> {
writableType?: undefined;
}
interface UnderlyingByteSource {
autoAllocateChunkSize?: number;
cancel?: UnderlyingSourceCancelCallback;
pull?: (controller: ReadableByteStreamController) => void | PromiseLike<void>;
start?: (controller: ReadableByteStreamController) => any;
type: "bytes";
}
interface UnderlyingDefaultSource<R = any> {
cancel?: UnderlyingSourceCancelCallback;
pull?: (controller: ReadableStreamDefaultController<R>) => void | PromiseLike<void>;
start?: (controller: ReadableStreamDefaultController<R>) => any;
type?: undefined;
}
interface UnderlyingSink<W = any> {
abort?: UnderlyingSinkAbortCallback;
close?: UnderlyingSinkCloseCallback;
@ -667,17 +691,18 @@ interface UnderlyingSink<W = any> {
}
interface UnderlyingSource<R = any> {
autoAllocateChunkSize?: number;
cancel?: UnderlyingSourceCancelCallback;
pull?: UnderlyingSourcePullCallback<R>;
start?: UnderlyingSourceStartCallback<R>;
type?: undefined;
type?: ReadableStreamType;
}
interface VideoColorSpaceInit {
fullRange?: boolean;
matrix?: VideoMatrixCoefficients;
primaries?: VideoColorPrimaries;
transfer?: VideoTransferCharacteristics;
fullRange?: boolean | null;
matrix?: VideoMatrixCoefficients | null;
primaries?: VideoColorPrimaries | null;
transfer?: VideoTransferCharacteristics | null;
}
interface VideoConfiguration {
@ -727,7 +752,7 @@ interface AbortController {
/** Returns the AbortSignal object associated with this object. */
readonly signal: AbortSignal;
/** Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted. */
// abort(): AbortSignal; - To be re-added in the future
abort(reason?: any): void;
}
declare var AbortController: {
@ -756,6 +781,7 @@ declare var AbortSignal: {
prototype: AbortSignal;
new(): AbortSignal;
abort(reason?: any): AbortSignal;
timeout(milliseconds: number): AbortSignal;
};
interface AbstractWorkerEventMap {
@ -872,6 +898,44 @@ declare var CacheStorage: {
new(): CacheStorage;
};
interface CanvasCompositing {
globalAlpha: number;
globalCompositeOperation: GlobalCompositeOperation;
}
interface CanvasDrawImage {
drawImage(image: CanvasImageSource, dx: number, dy: number): void;
drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;
drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
}
interface CanvasDrawPath {
beginPath(): void;
clip(fillRule?: CanvasFillRule): void;
clip(path: Path2D, fillRule?: CanvasFillRule): void;
fill(fillRule?: CanvasFillRule): void;
fill(path: Path2D, fillRule?: CanvasFillRule): void;
isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;
isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean;
isPointInStroke(x: number, y: number): boolean;
isPointInStroke(path: Path2D, x: number, y: number): boolean;
stroke(): void;
stroke(path: Path2D): void;
}
interface CanvasFillStrokeStyles {
fillStyle: string | CanvasGradient | CanvasPattern;
strokeStyle: string | CanvasGradient | CanvasPattern;
createConicGradient(startAngle: number, x: number, y: number): CanvasGradient;
createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;
createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
}
interface CanvasFilters {
filter: string;
}
/** An opaque object describing a gradient. It is returned by the methods CanvasRenderingContext2D.createLinearGradient() or CanvasRenderingContext2D.createRadialGradient(). */
interface CanvasGradient {
/**
@ -887,6 +951,19 @@ declare var CanvasGradient: {
new(): CanvasGradient;
};
interface CanvasImageData {
createImageData(sw: number, sh: number, settings?: ImageDataSettings): ImageData;
createImageData(imagedata: ImageData): ImageData;
getImageData(sx: number, sy: number, sw: number, sh: number, settings?: ImageDataSettings): ImageData;
putImageData(imagedata: ImageData, dx: number, dy: number): void;
putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void;
}
interface CanvasImageSmoothing {
imageSmoothingEnabled: boolean;
imageSmoothingQuality: ImageSmoothingQuality;
}
interface CanvasPath {
arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
@ -897,6 +974,17 @@ interface CanvasPath {
moveTo(x: number, y: number): void;
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
rect(x: number, y: number, w: number, h: number): void;
roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void;
}
interface CanvasPathDrawingStyles {
lineCap: CanvasLineCap;
lineDashOffset: number;
lineJoin: CanvasLineJoin;
lineWidth: number;
miterLimit: number;
getLineDash(): number[];
setLineDash(segments: number[]): void;
}
/** An opaque object describing a pattern, based on an image, a canvas, or a video, created by the CanvasRenderingContext2D.createPattern() method. */
@ -910,6 +998,49 @@ declare var CanvasPattern: {
new(): CanvasPattern;
};
interface CanvasRect {
clearRect(x: number, y: number, w: number, h: number): void;
fillRect(x: number, y: number, w: number, h: number): void;
strokeRect(x: number, y: number, w: number, h: number): void;
}
interface CanvasShadowStyles {
shadowBlur: number;
shadowColor: string;
shadowOffsetX: number;
shadowOffsetY: number;
}
interface CanvasState {
restore(): void;
save(): void;
}
interface CanvasText {
fillText(text: string, x: number, y: number, maxWidth?: number): void;
measureText(text: string): TextMetrics;
strokeText(text: string, x: number, y: number, maxWidth?: number): void;
}
interface CanvasTextDrawingStyles {
direction: CanvasDirection;
font: string;
fontKerning: CanvasFontKerning;
textAlign: CanvasTextAlign;
textBaseline: CanvasTextBaseline;
}
interface CanvasTransform {
getTransform(): DOMMatrix;
resetTransform(): void;
rotate(angle: number): void;
scale(x: number, y: number): void;
setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;
setTransform(transform?: DOMMatrix2DInit): void;
transform(a: number, b: number, c: number, d: number, e: number, f: number): void;
translate(x: number, y: number): void;
}
/** The Client interface represents an executable context such as a Worker, or a SharedWorker. Window clients are represented by the more-specific WindowClient. You can get Client/WindowClient objects from methods such as Clients.matchAll() and Clients.get(). */
interface Client {
readonly frameType: FrameType;
@ -1316,6 +1447,13 @@ interface EXT_sRGB {
interface EXT_shader_texture_lod {
}
interface EXT_texture_compression_bptc {
readonly COMPRESSED_RGBA_BPTC_UNORM_EXT: GLenum;
readonly COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: GLenum;
readonly COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: GLenum;
readonly COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: GLenum;
}
interface EXT_texture_compression_rgtc {
readonly COMPRESSED_RED_GREEN_RGTC2_EXT: GLenum;
readonly COMPRESSED_RED_RGTC1_EXT: GLenum;
@ -1329,6 +1467,17 @@ interface EXT_texture_filter_anisotropic {
readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum;
}
interface EXT_texture_norm16 {
readonly R16_EXT: GLenum;
readonly R16_SNORM_EXT: GLenum;
readonly RG16_EXT: GLenum;
readonly RG16_SNORM_EXT: GLenum;
readonly RGB16_EXT: GLenum;
readonly RGB16_SNORM_EXT: GLenum;
readonly RGBA16_EXT: GLenum;
readonly RGBA16_SNORM_EXT: GLenum;
}
/** Events providing information related to errors in scripts or in files. */
interface ErrorEvent extends Event {
readonly colno: number;
@ -1347,6 +1496,7 @@ declare var ErrorEvent: {
interface Event {
/** Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise. */
readonly bubbles: boolean;
/** @deprecated */
cancelBubble: boolean;
/** Returns true or false depending on how event was initialized. Its return 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. */
readonly cancelable: boolean;
@ -2030,13 +2180,13 @@ declare var IDBObjectStore: {
};
interface IDBOpenDBRequestEventMap extends IDBRequestEventMap {
"blocked": Event;
"blocked": IDBVersionChangeEvent;
"upgradeneeded": IDBVersionChangeEvent;
}
/** Also inherits methods from its parents IDBRequest and EventTarget. */
interface IDBOpenDBRequest extends IDBRequest<IDBDatabase> {
onblocked: ((this: IDBOpenDBRequest, ev: Event) => any) | null;
onblocked: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;
onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;
addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
@ -2292,6 +2442,7 @@ interface NavigatorID {
readonly appName: string;
/** @deprecated */
readonly appVersion: string;
/** @deprecated */
readonly platform: string;
/** @deprecated */
readonly product: string;
@ -2361,6 +2512,16 @@ declare var NotificationEvent: {
new(type: string, eventInitDict: NotificationEventInit): NotificationEvent;
};
interface OES_draw_buffers_indexed {
blendEquationSeparateiOES(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum): void;
blendEquationiOES(buf: GLuint, mode: GLenum): void;
blendFuncSeparateiOES(buf: GLuint, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;
blendFunciOES(buf: GLuint, src: GLenum, dst: GLenum): void;
colorMaskiOES(buf: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean): void;
disableiOES(target: GLenum, index: GLuint): void;
enableiOES(target: GLenum, index: GLuint): void;
}
/** The OES_element_index_uint extension is part of the WebGL API and adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements(). */
interface OES_element_index_uint {
}
@ -2406,10 +2567,57 @@ interface OVR_multiview2 {
readonly MAX_VIEWS_OVR: GLenum;
}
/** @deprecated this is not available in most browsers */
interface OffscreenCanvas extends EventTarget {
interface OffscreenCanvasEventMap {
"contextlost": Event;
"contextrestored": Event;
}
interface OffscreenCanvas extends EventTarget {
/**
* These attributes return the dimensions of the OffscreenCanvas object's bitmap.
*
* They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).
*/
height: number;
oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null;
oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null;
/**
* These attributes return the dimensions of the OffscreenCanvas object's bitmap.
*
* They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).
*/
width: number;
/**
* Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API.
*
* This specification defines the "2d" context below, which is similar but distinct from the "2d" context that is created from a canvas element. The WebGL specifications define the "webgl" and "webgl2" contexts. [WEBGL]
*
* Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "2d" context after getting a "webgl" context).
*/
getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null;
/** Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image. */
transferToImageBitmap(): ImageBitmap;
addEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare var OffscreenCanvas: {
prototype: OffscreenCanvas;
new(width: number, height: number): OffscreenCanvas;
};
interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {
readonly canvas: OffscreenCanvas;
commit(): void;
}
declare var OffscreenCanvasRenderingContext2D: {
prototype: OffscreenCanvasRenderingContext2D;
new(): OffscreenCanvasRenderingContext2D;
};
/** This Canvas 2D API interface is used to declare a path that can then be used on a CanvasRenderingContext2D object. The path methods of the CanvasRenderingContext2D interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired. */
interface Path2D extends CanvasPath {
/** Adds to the path the path given by the argument. */
@ -2553,6 +2761,7 @@ interface PermissionStatusEventMap {
}
interface PermissionStatus extends EventTarget {
readonly name: string;
onchange: ((this: PermissionStatus, ev: Event) => any) | null;
readonly state: PermissionState;
addEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@ -2664,6 +2873,7 @@ declare var PushSubscription: {
/** Available only in secure contexts. */
interface PushSubscriptionOptions {
readonly applicationServerKey: ArrayBuffer | null;
readonly userVisibleOnly: boolean;
}
declare var PushSubscriptionOptions: {
@ -2711,7 +2921,9 @@ declare var ReadableByteStreamController: {
interface ReadableStream<R = any> {
readonly locked: boolean;
cancel(reason?: any): Promise<void>;
getReader(options: { mode: "byob" }): ReadableStreamBYOBReader;
getReader(): ReadableStreamDefaultReader<R>;
getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader<R>;
pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;
pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;
tee(): [ReadableStream<R>, ReadableStream<R>];
@ -2719,11 +2931,13 @@ interface ReadableStream<R = any> {
declare var ReadableStream: {
prototype: ReadableStream;
new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number }): ReadableStream<Uint8Array>;
new<R = any>(underlyingSource: UnderlyingDefaultSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;
new<R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;
};
interface ReadableStreamBYOBReader extends ReadableStreamGenericReader {
read(view: ArrayBufferView): Promise<ReadableStreamReadResult<ArrayBufferView>>;
read<T extends ArrayBufferView>(view: T): Promise<ReadableStreamReadResult<T>>;
releaseLock(): void;
}
@ -2911,6 +3125,7 @@ interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap {
"notificationclick": NotificationEvent;
"notificationclose": NotificationEvent;
"push": PushEvent;
"pushsubscriptionchange": Event;
}
/** This ServiceWorker API interface represents the global execution context of a service worker. */
@ -2924,6 +3139,7 @@ interface ServiceWorkerGlobalScope extends WorkerGlobalScope {
onnotificationclick: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null;
onnotificationclose: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null;
onpush: ((this: ServiceWorkerGlobalScope, ev: PushEvent) => any) | null;
onpushsubscriptionchange: ((this: ServiceWorkerGlobalScope, ev: Event) => any) | null;
readonly registration: ServiceWorkerRegistration;
readonly serviceWorker: ServiceWorker;
skipWaiting(): Promise<void>;
@ -3340,8 +3556,8 @@ interface WEBGL_lose_context {
interface WEBGL_multi_draw {
multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | GLint[], firstsOffset: GLuint, countsList: Int32Array | GLsizei[], countsOffset: GLuint, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | GLint[], firstsOffset: GLuint, countsList: Int32Array | GLsizei[], countsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | GLint[], countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: GLuint, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | GLint[], countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | GLsizei[], countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: GLuint, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | GLsizei[], countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: GLuint, drawcount: GLsizei): void;
}
interface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase {
@ -4739,35 +4955,39 @@ interface WebGLRenderingContextBase {
getBufferParameter(target: GLenum, pname: GLenum): any;
getContextAttributes(): WebGLContextAttributes | null;
getError(): GLenum;
getExtension(extensionName: "ANGLE_instanced_arrays"): ANGLE_instanced_arrays | null;
getExtension(extensionName: "EXT_blend_minmax"): EXT_blend_minmax | null;
getExtension(extensionName: "EXT_color_buffer_float"): EXT_color_buffer_float | null;
getExtension(extensionName: "EXT_color_buffer_half_float"): EXT_color_buffer_half_float | null;
getExtension(extensionName: "EXT_float_blend"): EXT_float_blend | null;
getExtension(extensionName: "EXT_texture_filter_anisotropic"): EXT_texture_filter_anisotropic | null;
getExtension(extensionName: "EXT_frag_depth"): EXT_frag_depth | null;
getExtension(extensionName: "EXT_shader_texture_lod"): EXT_shader_texture_lod | null;
getExtension(extensionName: "EXT_sRGB"): EXT_sRGB | null;
getExtension(extensionName: "EXT_shader_texture_lod"): EXT_shader_texture_lod | null;
getExtension(extensionName: "EXT_texture_compression_bptc"): EXT_texture_compression_bptc | null;
getExtension(extensionName: "EXT_texture_compression_rgtc"): EXT_texture_compression_rgtc | null;
getExtension(extensionName: "EXT_texture_filter_anisotropic"): EXT_texture_filter_anisotropic | null;
getExtension(extensionName: "KHR_parallel_shader_compile"): KHR_parallel_shader_compile | null;
getExtension(extensionName: "OES_element_index_uint"): OES_element_index_uint | null;
getExtension(extensionName: "OES_fbo_render_mipmap"): OES_fbo_render_mipmap | null;
getExtension(extensionName: "OES_standard_derivatives"): OES_standard_derivatives | null;
getExtension(extensionName: "OES_texture_float"): OES_texture_float | null;
getExtension(extensionName: "OES_texture_float_linear"): OES_texture_float_linear | null;
getExtension(extensionName: "OES_texture_half_float"): OES_texture_half_float | null;
getExtension(extensionName: "OES_texture_half_float_linear"): OES_texture_half_float_linear | null;
getExtension(extensionName: "OES_vertex_array_object"): OES_vertex_array_object | null;
getExtension(extensionName: "OVR_multiview2"): OVR_multiview2 | null;
getExtension(extensionName: "WEBGL_color_buffer_float"): WEBGL_color_buffer_float | null;
getExtension(extensionName: "WEBGL_compressed_texture_astc"): WEBGL_compressed_texture_astc | null;
getExtension(extensionName: "WEBGL_compressed_texture_etc"): WEBGL_compressed_texture_etc | null;
getExtension(extensionName: "WEBGL_compressed_texture_etc1"): WEBGL_compressed_texture_etc1 | null;
getExtension(extensionName: "WEBGL_compressed_texture_s3tc"): WEBGL_compressed_texture_s3tc | null;
getExtension(extensionName: "WEBGL_compressed_texture_s3tc_srgb"): WEBGL_compressed_texture_s3tc_srgb | null;
getExtension(extensionName: "WEBGL_debug_renderer_info"): WEBGL_debug_renderer_info | null;
getExtension(extensionName: "WEBGL_debug_shaders"): WEBGL_debug_shaders | null;
getExtension(extensionName: "WEBGL_depth_texture"): WEBGL_depth_texture | null;
getExtension(extensionName: "WEBGL_draw_buffers"): WEBGL_draw_buffers | null;
getExtension(extensionName: "WEBGL_lose_context"): WEBGL_lose_context | null;
getExtension(extensionName: "WEBGL_depth_texture"): WEBGL_depth_texture | null;
getExtension(extensionName: "WEBGL_debug_renderer_info"): WEBGL_debug_renderer_info | null;
getExtension(extensionName: "WEBGL_compressed_texture_s3tc"): WEBGL_compressed_texture_s3tc | null;
getExtension(extensionName: "OES_texture_half_float_linear"): OES_texture_half_float_linear | null;
getExtension(extensionName: "OES_texture_half_float"): OES_texture_half_float | null;
getExtension(extensionName: "OES_texture_float_linear"): OES_texture_float_linear | null;
getExtension(extensionName: "OES_texture_float"): OES_texture_float | null;
getExtension(extensionName: "OES_standard_derivatives"): OES_standard_derivatives | null;
getExtension(extensionName: "OES_element_index_uint"): OES_element_index_uint | null;
getExtension(extensionName: "ANGLE_instanced_arrays"): ANGLE_instanced_arrays | null;
getExtension(extensionName: "WEBGL_multi_draw"): WEBGL_multi_draw | null;
getExtension(name: string): any;
getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any;
getParameter(pname: GLenum): any;
@ -5893,20 +6113,31 @@ type ImageBitmapSource = CanvasImageSource | Blob | ImageData;
type Int32List = Int32Array | GLint[];
type MessageEventSource = MessagePort | ServiceWorker;
type NamedCurve = string;
type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;
type OnErrorEventHandler = OnErrorEventHandlerNonNull | null;
type PerformanceEntryList = PerformanceEntry[];
type PushMessageDataInit = BufferSource | string;
type ReadableStreamController<T> = ReadableStreamDefaultController<T>;
type ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult;
type ReadableStreamReader<T> = ReadableStreamDefaultReader<T>;
type ReadableStreamController<T> = ReadableStreamDefaultController<T> | ReadableByteStreamController;
type ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult<T>;
type ReadableStreamReader<T> = ReadableStreamDefaultReader<T> | ReadableStreamBYOBReader;
type RequestInfo = Request | string;
type TexImageSource = ImageBitmap | ImageData | OffscreenCanvas;
type TimerHandler = string | Function;
type Transferable = ArrayBuffer | MessagePort | ImageBitmap;
type Transferable = OffscreenCanvas | ImageBitmap | MessagePort | ReadableStream | WritableStream | TransformStream | ArrayBuffer;
type Uint32List = Uint32Array | GLuint[];
type VibratePattern = number | number[];
type XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string;
type BinaryType = "arraybuffer" | "blob";
type CanvasDirection = "inherit" | "ltr" | "rtl";
type CanvasFillRule = "evenodd" | "nonzero";
type CanvasFontKerning = "auto" | "none" | "normal";
type CanvasFontStretch = "condensed" | "expanded" | "extra-condensed" | "extra-expanded" | "normal" | "semi-condensed" | "semi-expanded" | "ultra-condensed" | "ultra-expanded";
type CanvasFontVariantCaps = "all-petite-caps" | "all-small-caps" | "normal" | "petite-caps" | "small-caps" | "titling-caps" | "unicase";
type CanvasLineCap = "butt" | "round" | "square";
type CanvasLineJoin = "bevel" | "miter" | "round";
type CanvasTextAlign = "center" | "end" | "left" | "right" | "start";
type CanvasTextBaseline = "alphabetic" | "bottom" | "hanging" | "ideographic" | "middle" | "top";
type CanvasTextRendering = "auto" | "geometricPrecision" | "optimizeLegibility" | "optimizeSpeed";
type ClientTypes = "all" | "sharedworker" | "window" | "worker";
type ColorGamut = "p3" | "rec2020" | "srgb";
type ColorSpaceConversion = "default" | "none";
@ -5916,12 +6147,14 @@ type FileSystemHandleKind = "directory" | "file";
type FontFaceLoadStatus = "error" | "loaded" | "loading" | "unloaded";
type FontFaceSetLoadStatus = "loaded" | "loading";
type FrameType = "auxiliary" | "nested" | "none" | "top-level";
type GlobalCompositeOperation = "color" | "color-burn" | "color-dodge" | "copy" | "darken" | "destination-atop" | "destination-in" | "destination-out" | "destination-over" | "difference" | "exclusion" | "hard-light" | "hue" | "lighten" | "lighter" | "luminosity" | "multiply" | "overlay" | "saturation" | "screen" | "soft-light" | "source-atop" | "source-in" | "source-out" | "source-over" | "xor";
type HdrMetadataType = "smpteSt2086" | "smpteSt2094-10" | "smpteSt2094-40";
type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique";
type IDBRequestReadyState = "done" | "pending";
type IDBTransactionDurability = "default" | "relaxed" | "strict";
type IDBTransactionMode = "readonly" | "readwrite" | "versionchange";
type ImageOrientation = "flipY" | "none";
type ImageSmoothingQuality = "high" | "low" | "medium";
type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki";
type KeyType = "private" | "public" | "secret";
type KeyUsage = "decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey";
@ -5930,12 +6163,15 @@ type MediaDecodingType = "file" | "media-source" | "webrtc";
type MediaEncodingType = "record" | "webrtc";
type NotificationDirection = "auto" | "ltr" | "rtl";
type NotificationPermission = "default" | "denied" | "granted";
type OffscreenRenderingContextId = "2d" | "bitmaprenderer" | "webgl" | "webgl2" | "webgpu";
type PermissionName = "geolocation" | "notifications" | "persistent-storage" | "push" | "screen-wake-lock" | "xr-spatial-tracking";
type PermissionState = "denied" | "granted" | "prompt";
type PredefinedColorSpace = "display-p3" | "srgb";
type PremultiplyAlpha = "default" | "none" | "premultiply";
type PushEncryptionKeyName = "auth" | "p256dh";
type RTCEncodedVideoFrameType = "delta" | "empty" | "key";
type ReadableStreamReaderMode = "byob";
type ReadableStreamType = "bytes";
type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
type RequestCache = "default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload";
type RequestCredentials = "include" | "omit" | "same-origin";

View file

@ -26,6 +26,14 @@ interface Cache {
addAll(requests: Iterable<RequestInfo>): Promise<void>;
}
interface CanvasPath {
roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable<number | DOMPointInit>): void;
}
interface CanvasPathDrawingStyles {
setLineDash(segments: Iterable<number>): void;
}
interface DOMStringList {
[Symbol.iterator](): IterableIterator<string>;
}
@ -103,8 +111,8 @@ interface WEBGL_draw_buffers {
interface WEBGL_multi_draw {
multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: GLuint, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: GLuint, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLint>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLint>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: GLuint, drawcount: GLsizei): void;
multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLsizei>, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: GLuint, drawcount: GLsizei): void;
}
interface WebGL2RenderingContextBase {

View file

@ -14,7 +14,7 @@ and limitations under the License.
***************************************************************************** */
declare namespace ts {
const versionMajorMinor = "4.8";
const versionMajorMinor = "4.9";
/** The version of the TypeScript compiler release */
const version: string;
/**
@ -232,237 +232,240 @@ declare namespace ts {
StaticKeyword = 124,
YieldKeyword = 125,
AbstractKeyword = 126,
AsKeyword = 127,
AssertsKeyword = 128,
AssertKeyword = 129,
AnyKeyword = 130,
AsyncKeyword = 131,
AwaitKeyword = 132,
BooleanKeyword = 133,
ConstructorKeyword = 134,
DeclareKeyword = 135,
GetKeyword = 136,
InferKeyword = 137,
IntrinsicKeyword = 138,
IsKeyword = 139,
KeyOfKeyword = 140,
ModuleKeyword = 141,
NamespaceKeyword = 142,
NeverKeyword = 143,
OutKeyword = 144,
ReadonlyKeyword = 145,
RequireKeyword = 146,
NumberKeyword = 147,
ObjectKeyword = 148,
SetKeyword = 149,
StringKeyword = 150,
SymbolKeyword = 151,
TypeKeyword = 152,
UndefinedKeyword = 153,
UniqueKeyword = 154,
UnknownKeyword = 155,
FromKeyword = 156,
GlobalKeyword = 157,
BigIntKeyword = 158,
OverrideKeyword = 159,
OfKeyword = 160,
QualifiedName = 161,
ComputedPropertyName = 162,
TypeParameter = 163,
Parameter = 164,
Decorator = 165,
PropertySignature = 166,
PropertyDeclaration = 167,
MethodSignature = 168,
MethodDeclaration = 169,
ClassStaticBlockDeclaration = 170,
Constructor = 171,
GetAccessor = 172,
SetAccessor = 173,
CallSignature = 174,
ConstructSignature = 175,
IndexSignature = 176,
TypePredicate = 177,
TypeReference = 178,
FunctionType = 179,
ConstructorType = 180,
TypeQuery = 181,
TypeLiteral = 182,
ArrayType = 183,
TupleType = 184,
OptionalType = 185,
RestType = 186,
UnionType = 187,
IntersectionType = 188,
ConditionalType = 189,
InferType = 190,
ParenthesizedType = 191,
ThisType = 192,
TypeOperator = 193,
IndexedAccessType = 194,
MappedType = 195,
LiteralType = 196,
NamedTupleMember = 197,
TemplateLiteralType = 198,
TemplateLiteralTypeSpan = 199,
ImportType = 200,
ObjectBindingPattern = 201,
ArrayBindingPattern = 202,
BindingElement = 203,
ArrayLiteralExpression = 204,
ObjectLiteralExpression = 205,
PropertyAccessExpression = 206,
ElementAccessExpression = 207,
CallExpression = 208,
NewExpression = 209,
TaggedTemplateExpression = 210,
TypeAssertionExpression = 211,
ParenthesizedExpression = 212,
FunctionExpression = 213,
ArrowFunction = 214,
DeleteExpression = 215,
TypeOfExpression = 216,
VoidExpression = 217,
AwaitExpression = 218,
PrefixUnaryExpression = 219,
PostfixUnaryExpression = 220,
BinaryExpression = 221,
ConditionalExpression = 222,
TemplateExpression = 223,
YieldExpression = 224,
SpreadElement = 225,
ClassExpression = 226,
OmittedExpression = 227,
ExpressionWithTypeArguments = 228,
AsExpression = 229,
NonNullExpression = 230,
MetaProperty = 231,
SyntheticExpression = 232,
TemplateSpan = 233,
SemicolonClassElement = 234,
Block = 235,
EmptyStatement = 236,
VariableStatement = 237,
ExpressionStatement = 238,
IfStatement = 239,
DoStatement = 240,
WhileStatement = 241,
ForStatement = 242,
ForInStatement = 243,
ForOfStatement = 244,
ContinueStatement = 245,
BreakStatement = 246,
ReturnStatement = 247,
WithStatement = 248,
SwitchStatement = 249,
LabeledStatement = 250,
ThrowStatement = 251,
TryStatement = 252,
DebuggerStatement = 253,
VariableDeclaration = 254,
VariableDeclarationList = 255,
FunctionDeclaration = 256,
ClassDeclaration = 257,
InterfaceDeclaration = 258,
TypeAliasDeclaration = 259,
EnumDeclaration = 260,
ModuleDeclaration = 261,
ModuleBlock = 262,
CaseBlock = 263,
NamespaceExportDeclaration = 264,
ImportEqualsDeclaration = 265,
ImportDeclaration = 266,
ImportClause = 267,
NamespaceImport = 268,
NamedImports = 269,
ImportSpecifier = 270,
ExportAssignment = 271,
ExportDeclaration = 272,
NamedExports = 273,
NamespaceExport = 274,
ExportSpecifier = 275,
MissingDeclaration = 276,
ExternalModuleReference = 277,
JsxElement = 278,
JsxSelfClosingElement = 279,
JsxOpeningElement = 280,
JsxClosingElement = 281,
JsxFragment = 282,
JsxOpeningFragment = 283,
JsxClosingFragment = 284,
JsxAttribute = 285,
JsxAttributes = 286,
JsxSpreadAttribute = 287,
JsxExpression = 288,
CaseClause = 289,
DefaultClause = 290,
HeritageClause = 291,
CatchClause = 292,
AssertClause = 293,
AssertEntry = 294,
ImportTypeAssertionContainer = 295,
PropertyAssignment = 296,
ShorthandPropertyAssignment = 297,
SpreadAssignment = 298,
EnumMember = 299,
UnparsedPrologue = 300,
UnparsedPrepend = 301,
UnparsedText = 302,
UnparsedInternalText = 303,
UnparsedSyntheticReference = 304,
SourceFile = 305,
Bundle = 306,
UnparsedSource = 307,
InputFiles = 308,
JSDocTypeExpression = 309,
JSDocNameReference = 310,
JSDocMemberName = 311,
JSDocAllType = 312,
JSDocUnknownType = 313,
JSDocNullableType = 314,
JSDocNonNullableType = 315,
JSDocOptionalType = 316,
JSDocFunctionType = 317,
JSDocVariadicType = 318,
JSDocNamepathType = 319,
JSDoc = 320,
AccessorKeyword = 127,
AsKeyword = 128,
AssertsKeyword = 129,
AssertKeyword = 130,
AnyKeyword = 131,
AsyncKeyword = 132,
AwaitKeyword = 133,
BooleanKeyword = 134,
ConstructorKeyword = 135,
DeclareKeyword = 136,
GetKeyword = 137,
InferKeyword = 138,
IntrinsicKeyword = 139,
IsKeyword = 140,
KeyOfKeyword = 141,
ModuleKeyword = 142,
NamespaceKeyword = 143,
NeverKeyword = 144,
OutKeyword = 145,
ReadonlyKeyword = 146,
RequireKeyword = 147,
NumberKeyword = 148,
ObjectKeyword = 149,
SatisfiesKeyword = 150,
SetKeyword = 151,
StringKeyword = 152,
SymbolKeyword = 153,
TypeKeyword = 154,
UndefinedKeyword = 155,
UniqueKeyword = 156,
UnknownKeyword = 157,
FromKeyword = 158,
GlobalKeyword = 159,
BigIntKeyword = 160,
OverrideKeyword = 161,
OfKeyword = 162,
QualifiedName = 163,
ComputedPropertyName = 164,
TypeParameter = 165,
Parameter = 166,
Decorator = 167,
PropertySignature = 168,
PropertyDeclaration = 169,
MethodSignature = 170,
MethodDeclaration = 171,
ClassStaticBlockDeclaration = 172,
Constructor = 173,
GetAccessor = 174,
SetAccessor = 175,
CallSignature = 176,
ConstructSignature = 177,
IndexSignature = 178,
TypePredicate = 179,
TypeReference = 180,
FunctionType = 181,
ConstructorType = 182,
TypeQuery = 183,
TypeLiteral = 184,
ArrayType = 185,
TupleType = 186,
OptionalType = 187,
RestType = 188,
UnionType = 189,
IntersectionType = 190,
ConditionalType = 191,
InferType = 192,
ParenthesizedType = 193,
ThisType = 194,
TypeOperator = 195,
IndexedAccessType = 196,
MappedType = 197,
LiteralType = 198,
NamedTupleMember = 199,
TemplateLiteralType = 200,
TemplateLiteralTypeSpan = 201,
ImportType = 202,
ObjectBindingPattern = 203,
ArrayBindingPattern = 204,
BindingElement = 205,
ArrayLiteralExpression = 206,
ObjectLiteralExpression = 207,
PropertyAccessExpression = 208,
ElementAccessExpression = 209,
CallExpression = 210,
NewExpression = 211,
TaggedTemplateExpression = 212,
TypeAssertionExpression = 213,
ParenthesizedExpression = 214,
FunctionExpression = 215,
ArrowFunction = 216,
DeleteExpression = 217,
TypeOfExpression = 218,
VoidExpression = 219,
AwaitExpression = 220,
PrefixUnaryExpression = 221,
PostfixUnaryExpression = 222,
BinaryExpression = 223,
ConditionalExpression = 224,
TemplateExpression = 225,
YieldExpression = 226,
SpreadElement = 227,
ClassExpression = 228,
OmittedExpression = 229,
ExpressionWithTypeArguments = 230,
AsExpression = 231,
NonNullExpression = 232,
MetaProperty = 233,
SyntheticExpression = 234,
SatisfiesExpression = 235,
TemplateSpan = 236,
SemicolonClassElement = 237,
Block = 238,
EmptyStatement = 239,
VariableStatement = 240,
ExpressionStatement = 241,
IfStatement = 242,
DoStatement = 243,
WhileStatement = 244,
ForStatement = 245,
ForInStatement = 246,
ForOfStatement = 247,
ContinueStatement = 248,
BreakStatement = 249,
ReturnStatement = 250,
WithStatement = 251,
SwitchStatement = 252,
LabeledStatement = 253,
ThrowStatement = 254,
TryStatement = 255,
DebuggerStatement = 256,
VariableDeclaration = 257,
VariableDeclarationList = 258,
FunctionDeclaration = 259,
ClassDeclaration = 260,
InterfaceDeclaration = 261,
TypeAliasDeclaration = 262,
EnumDeclaration = 263,
ModuleDeclaration = 264,
ModuleBlock = 265,
CaseBlock = 266,
NamespaceExportDeclaration = 267,
ImportEqualsDeclaration = 268,
ImportDeclaration = 269,
ImportClause = 270,
NamespaceImport = 271,
NamedImports = 272,
ImportSpecifier = 273,
ExportAssignment = 274,
ExportDeclaration = 275,
NamedExports = 276,
NamespaceExport = 277,
ExportSpecifier = 278,
MissingDeclaration = 279,
ExternalModuleReference = 280,
JsxElement = 281,
JsxSelfClosingElement = 282,
JsxOpeningElement = 283,
JsxClosingElement = 284,
JsxFragment = 285,
JsxOpeningFragment = 286,
JsxClosingFragment = 287,
JsxAttribute = 288,
JsxAttributes = 289,
JsxSpreadAttribute = 290,
JsxExpression = 291,
CaseClause = 292,
DefaultClause = 293,
HeritageClause = 294,
CatchClause = 295,
AssertClause = 296,
AssertEntry = 297,
ImportTypeAssertionContainer = 298,
PropertyAssignment = 299,
ShorthandPropertyAssignment = 300,
SpreadAssignment = 301,
EnumMember = 302,
UnparsedPrologue = 303,
UnparsedPrepend = 304,
UnparsedText = 305,
UnparsedInternalText = 306,
UnparsedSyntheticReference = 307,
SourceFile = 308,
Bundle = 309,
UnparsedSource = 310,
InputFiles = 311,
JSDocTypeExpression = 312,
JSDocNameReference = 313,
JSDocMemberName = 314,
JSDocAllType = 315,
JSDocUnknownType = 316,
JSDocNullableType = 317,
JSDocNonNullableType = 318,
JSDocOptionalType = 319,
JSDocFunctionType = 320,
JSDocVariadicType = 321,
JSDocNamepathType = 322,
JSDoc = 323,
/** @deprecated Use SyntaxKind.JSDoc */
JSDocComment = 320,
JSDocText = 321,
JSDocTypeLiteral = 322,
JSDocSignature = 323,
JSDocLink = 324,
JSDocLinkCode = 325,
JSDocLinkPlain = 326,
JSDocTag = 327,
JSDocAugmentsTag = 328,
JSDocImplementsTag = 329,
JSDocAuthorTag = 330,
JSDocDeprecatedTag = 331,
JSDocClassTag = 332,
JSDocPublicTag = 333,
JSDocPrivateTag = 334,
JSDocProtectedTag = 335,
JSDocReadonlyTag = 336,
JSDocOverrideTag = 337,
JSDocCallbackTag = 338,
JSDocEnumTag = 339,
JSDocParameterTag = 340,
JSDocReturnTag = 341,
JSDocThisTag = 342,
JSDocTypeTag = 343,
JSDocTemplateTag = 344,
JSDocTypedefTag = 345,
JSDocSeeTag = 346,
JSDocPropertyTag = 347,
SyntaxList = 348,
NotEmittedStatement = 349,
PartiallyEmittedExpression = 350,
CommaListExpression = 351,
MergeDeclarationMarker = 352,
EndOfDeclarationMarker = 353,
SyntheticReferenceExpression = 354,
Count = 355,
JSDocComment = 323,
JSDocText = 324,
JSDocTypeLiteral = 325,
JSDocSignature = 326,
JSDocLink = 327,
JSDocLinkCode = 328,
JSDocLinkPlain = 329,
JSDocTag = 330,
JSDocAugmentsTag = 331,
JSDocImplementsTag = 332,
JSDocAuthorTag = 333,
JSDocDeprecatedTag = 334,
JSDocClassTag = 335,
JSDocPublicTag = 336,
JSDocPrivateTag = 337,
JSDocProtectedTag = 338,
JSDocReadonlyTag = 339,
JSDocOverrideTag = 340,
JSDocCallbackTag = 341,
JSDocEnumTag = 342,
JSDocParameterTag = 343,
JSDocReturnTag = 344,
JSDocThisTag = 345,
JSDocTypeTag = 346,
JSDocTemplateTag = 347,
JSDocTypedefTag = 348,
JSDocSeeTag = 349,
JSDocPropertyTag = 350,
SyntaxList = 351,
NotEmittedStatement = 352,
PartiallyEmittedExpression = 353,
CommaListExpression = 354,
MergeDeclarationMarker = 355,
EndOfDeclarationMarker = 356,
SyntheticReferenceExpression = 357,
Count = 358,
FirstAssignment = 63,
LastAssignment = 78,
FirstCompoundAssignment = 64,
@ -470,15 +473,15 @@ declare namespace ts {
FirstReservedWord = 81,
LastReservedWord = 116,
FirstKeyword = 81,
LastKeyword = 160,
LastKeyword = 162,
FirstFutureReservedWord = 117,
LastFutureReservedWord = 125,
FirstTypeNode = 177,
LastTypeNode = 200,
FirstTypeNode = 179,
LastTypeNode = 202,
FirstPunctuation = 18,
LastPunctuation = 78,
FirstToken = 0,
LastToken = 160,
LastToken = 162,
FirstTriviaToken = 2,
LastTriviaToken = 7,
FirstLiteralToken = 8,
@ -487,20 +490,20 @@ declare namespace ts {
LastTemplateToken = 17,
FirstBinaryOperator = 29,
LastBinaryOperator = 78,
FirstStatement = 237,
LastStatement = 253,
FirstNode = 161,
FirstJSDocNode = 309,
LastJSDocNode = 347,
FirstJSDocTagNode = 327,
LastJSDocTagNode = 347,
FirstStatement = 240,
LastStatement = 256,
FirstNode = 163,
FirstJSDocNode = 312,
LastJSDocNode = 350,
FirstJSDocTagNode = 330,
LastJSDocTagNode = 350,
}
export type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ShebangTrivia | SyntaxKind.ConflictMarkerTrivia;
export type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral;
export type PseudoLiteralSyntaxKind = SyntaxKind.TemplateHead | SyntaxKind.TemplateMiddle | SyntaxKind.TemplateTail;
export type PunctuationSyntaxKind = SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.OpenParenToken | SyntaxKind.CloseParenToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.DotToken | SyntaxKind.DotDotDotToken | SyntaxKind.SemicolonToken | SyntaxKind.CommaToken | SyntaxKind.QuestionDotToken | SyntaxKind.LessThanToken | SyntaxKind.LessThanSlashToken | SyntaxKind.GreaterThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.EqualsEqualsToken | SyntaxKind.ExclamationEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.EqualsGreaterThanToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.AsteriskToken | SyntaxKind.AsteriskAsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken | SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken | SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken | SyntaxKind.ExclamationToken | SyntaxKind.TildeToken | SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken | SyntaxKind.QuestionQuestionToken | SyntaxKind.QuestionToken | SyntaxKind.ColonToken | SyntaxKind.AtToken | SyntaxKind.BacktickToken | SyntaxKind.HashToken | SyntaxKind.EqualsToken | SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken;
export type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.AssertsKeyword | SyntaxKind.AssertKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InferKeyword | SyntaxKind.InKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.OfKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.RequireKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword;
export type ModifierSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.ConstKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.ExportKeyword | SyntaxKind.InKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.StaticKeyword;
export type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AccessorKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.AssertsKeyword | SyntaxKind.AssertKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InferKeyword | SyntaxKind.InKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.OfKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.RequireKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SatisfiesKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword;
export type ModifierSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AccessorKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.ConstKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.ExportKeyword | SyntaxKind.InKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.StaticKeyword;
export type KeywordTypeSyntaxKind = SyntaxKind.AnyKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VoidKeyword;
export type TokenSyntaxKind = SyntaxKind.Unknown | SyntaxKind.EndOfFileToken | TriviaSyntaxKind | LiteralSyntaxKind | PseudoLiteralSyntaxKind | PunctuationSyntaxKind | SyntaxKind.Identifier | KeywordSyntaxKind;
export type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken;
@ -545,9 +548,10 @@ declare namespace ts {
Protected = 16,
Static = 32,
Readonly = 64,
Abstract = 128,
Async = 256,
Default = 512,
Accessor = 128,
Abstract = 256,
Async = 512,
Default = 1024,
Const = 2048,
HasComputedJSDocModifiers = 4096,
Deprecated = 8192,
@ -559,10 +563,10 @@ declare namespace ts {
AccessibilityModifier = 28,
ParameterPropertyModifier = 16476,
NonPublicAccessibilityModifier = 24,
TypeScriptModifier = 116958,
ExportDefault = 513,
All = 257023,
Modifier = 125951
TypeScriptModifier = 117086,
ExportDefault = 1025,
All = 258047,
Modifier = 126975
}
export enum JsxFlags {
None = 0,
@ -618,6 +622,7 @@ declare namespace ts {
export interface ModifierToken<TKind extends ModifierSyntaxKind> extends KeywordToken<TKind> {
}
export type AbstractKeyword = ModifierToken<SyntaxKind.AbstractKeyword>;
export type AccessorKeyword = ModifierToken<SyntaxKind.AccessorKeyword>;
export type AsyncKeyword = ModifierToken<SyntaxKind.AsyncKeyword>;
export type ConstKeyword = ModifierToken<SyntaxKind.ConstKeyword>;
export type DeclareKeyword = ModifierToken<SyntaxKind.DeclareKeyword>;
@ -633,11 +638,11 @@ declare namespace ts {
export type StaticKeyword = ModifierToken<SyntaxKind.StaticKeyword>;
/** @deprecated Use `ReadonlyKeyword` instead. */
export type ReadonlyToken = ReadonlyKeyword;
export type Modifier = AbstractKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | InKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | OutKeyword | OverrideKeyword | ReadonlyKeyword | StaticKeyword;
export type Modifier = AbstractKeyword | AccessorKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | InKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | OutKeyword | OverrideKeyword | ReadonlyKeyword | StaticKeyword;
export type ModifierLike = Modifier | Decorator;
export type AccessibilityModifier = PublicKeyword | PrivateKeyword | ProtectedKeyword;
export type ParameterPropertyModifier = AccessibilityModifier | ReadonlyKeyword;
export type ClassMemberModifier = AccessibilityModifier | ReadonlyKeyword | StaticKeyword;
export type ClassMemberModifier = AccessibilityModifier | ReadonlyKeyword | StaticKeyword | AccessorKeyword;
export type ModifiersArray = NodeArray<Modifier>;
export enum GeneratedIdentifierFlags {
None = 0,
@ -764,6 +769,9 @@ declare namespace ts {
readonly type?: TypeNode;
readonly initializer?: Expression;
}
export interface AutoAccessorPropertyDeclaration extends PropertyDeclaration {
_autoAccessorBrand: any;
}
export interface ObjectLiteralElement extends NamedDeclaration {
_objectLiteralBrand: any;
readonly name?: PropertyName;
@ -1340,6 +1348,11 @@ declare namespace ts {
readonly type: TypeNode;
readonly expression: UnaryExpression;
}
export interface SatisfiesExpression extends Expression {
readonly kind: SyntaxKind.SatisfiesExpression;
readonly expression: Expression;
readonly type: TypeNode;
}
export type AssertionExpression = TypeAssertion | AsExpression;
export interface NonNullExpression extends LeftHandSideExpression {
readonly kind: SyntaxKind.NonNullExpression;
@ -2316,6 +2329,7 @@ declare namespace ts {
getPrivateIdentifierPropertyOfType(leftType: Type, name: string, location: Node): Symbol | undefined;
getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined;
getIndexInfosOfType(type: Type): readonly IndexInfo[];
getIndexInfosOfIndexSymbol: (indexSymbol: Symbol) => IndexInfo[];
getSignaturesOfType(type: Type, kind: SignatureKind): readonly Signature[];
getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined;
getBaseTypes(type: InterfaceType): BaseType[];
@ -2394,7 +2408,7 @@ declare namespace ts {
getExportsOfModule(moduleSymbol: Symbol): Symbol[];
getJsxIntrinsicTagNamesAt(location: Node): Symbol[];
isOptionalParameter(node: ParameterDeclaration): boolean;
getAmbientModules(): Symbol[];
getAmbientModules(sourceFile?: SourceFile): Symbol[];
tryGetMemberInModuleExports(memberName: string, moduleSymbol: Symbol): Symbol | undefined;
getApparentType(type: Type): Type;
getBaseConstraintOfType(type: Type): Type | undefined;
@ -2562,6 +2576,7 @@ declare namespace ts {
MethodExcludes = 103359,
GetAccessorExcludes = 46015,
SetAccessorExcludes = 78783,
AccessorExcludes = 13247,
TypeParameterExcludes = 526824,
TypeAliasExcludes = 788968,
AliasExcludes = 2097152,
@ -2832,7 +2847,7 @@ declare namespace ts {
export interface SubstitutionType extends InstantiableType {
objectFlags: ObjectFlags;
baseType: Type;
substitute: Type;
constraint: Type;
}
export enum SignatureKind {
Call = 0,
@ -3305,6 +3320,8 @@ declare namespace ts {
*/
resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[] | readonly FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: SourceFile["impliedNodeFormat"] | undefined): (ResolvedTypeReferenceDirective | undefined)[];
getEnvironmentVariable?(name: string): string | undefined;
/** If provided along with custom resolveModuleNames or resolveTypeReferenceDirectives, used to determine if unchanged file path needs to re-resolve modules/type reference directives */
hasInvalidatedResolutions?(filePath: Path): boolean;
createHash?(data: string): string;
getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined;
}
@ -3387,7 +3404,7 @@ declare namespace ts {
createNumericLiteral(value: string | number, numericLiteralFlags?: TokenFlags): NumericLiteral;
createBigIntLiteral(value: string | PseudoBigInt): BigIntLiteral;
createStringLiteral(text: string, isSingleQuote?: boolean): StringLiteral;
createStringLiteralFromNode(sourceNode: PropertyNameLiteral, isSingleQuote?: boolean): StringLiteral;
createStringLiteralFromNode(sourceNode: PropertyNameLiteral | PrivateIdentifier, isSingleQuote?: boolean): StringLiteral;
createRegularExpressionLiteral(text: string): RegularExpressionLiteral;
createIdentifier(text: string): Identifier;
/**
@ -3412,6 +3429,8 @@ declare namespace ts {
/** Create a unique name generated for a node. */
getGeneratedNameForNode(node: Node | undefined, flags?: GeneratedIdentifierFlags): Identifier;
createPrivateIdentifier(text: string): PrivateIdentifier;
createUniquePrivateName(text?: string): PrivateIdentifier;
getGeneratedPrivateNameForNode(node: Node): PrivateIdentifier;
createToken(token: SyntaxKind.SuperKeyword): SuperExpression;
createToken(token: SyntaxKind.ThisKeyword): ThisExpression;
createToken(token: SyntaxKind.NullKeyword): NullLiteral;
@ -3587,6 +3606,8 @@ declare namespace ts {
updateNonNullChain(node: NonNullChain, expression: Expression): NonNullChain;
createMetaProperty(keywordToken: MetaProperty["keywordToken"], name: Identifier): MetaProperty;
updateMetaProperty(node: MetaProperty, name: Identifier): MetaProperty;
createSatisfiesExpression(expression: Expression, type: TypeNode): SatisfiesExpression;
updateSatisfiesExpression(node: SatisfiesExpression, expression: Expression, type: TypeNode): SatisfiesExpression;
createTemplateSpan(expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan;
updateTemplateSpan(node: TemplateSpan, expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan;
createSemicolonClassElement(): SemicolonClassElement;
@ -3948,7 +3969,7 @@ declare namespace ts {
<T extends Node>(nodes: NodeArray<T>, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray<T>;
<T extends Node>(nodes: NodeArray<T> | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray<T> | undefined;
}
export type VisitResult<T extends Node> = T | T[] | undefined;
export type VisitResult<T extends Node> = T | readonly T[] | undefined;
export interface Printer {
/**
* Print a node and its subtree as-is, without any emit transformations.
@ -4515,6 +4536,7 @@ declare namespace ts {
function isClassElement(node: Node): node is ClassElement;
function isClassLike(node: Node): node is ClassLikeDeclaration;
function isAccessor(node: Node): node is AccessorDeclaration;
function isAutoAccessorPropertyDeclaration(node: Node): node is AutoAccessorPropertyDeclaration;
function isModifierLike(node: Node): node is ModifierLike;
function isTypeElement(node: Node): node is TypeElement;
function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement;
@ -4716,6 +4738,7 @@ declare namespace ts {
function isOmittedExpression(node: Node): node is OmittedExpression;
function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments;
function isAsExpression(node: Node): node is AsExpression;
function isSatisfiesExpression(node: Node): node is SatisfiesExpression;
function isNonNullExpression(node: Node): node is NonNullExpression;
function isMetaProperty(node: Node): node is MetaProperty;
function isSyntheticExpression(node: Node): node is SyntheticExpression;
@ -5376,9 +5399,9 @@ declare namespace ts {
/** If provided, called with Diagnostic message that informs about change in watch status */
onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions, errorCount?: number): void;
/** Used to watch changes in source files, missing files needed to update the program or config file */
watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: CompilerOptions): FileWatcher;
watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: WatchOptions): FileWatcher;
/** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */
watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: CompilerOptions): FileWatcher;
watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: WatchOptions): FileWatcher;
/** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */
setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any;
/** If provided, will be used to reset existing delayed compilation */
@ -5421,6 +5444,8 @@ declare namespace ts {
resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile?: SourceFile): (ResolvedModule | undefined)[];
/** If provided, used to resolve type reference directives, otherwise typescript's default resolution */
resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[] | readonly FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: SourceFile["impliedNodeFormat"] | undefined): (ResolvedTypeReferenceDirective | undefined)[];
/** If provided along with custom resolveModuleNames or resolveTypeReferenceDirectives, used to determine if unchanged file path needs to re-resolve modules/type reference directives */
hasInvalidatedResolutions?(filePath: Path): boolean;
/**
* Returns the module resolution cache used by a provided `resolveModuleNames` implementation so that any non-name module resolution operations (eg, package.json lookup) can reuse it
*/
@ -6007,8 +6032,15 @@ declare namespace ts {
type: "file";
fileName: string;
}
enum OrganizeImportsMode {
All = "All",
SortAndCombine = "SortAndCombine",
RemoveUnused = "RemoveUnused"
}
interface OrganizeImportsArgs extends CombinedCodeFixScope {
/** @deprecated Use `mode` instead */
skipDestructiveCodeActions?: boolean;
mode?: OrganizeImportsMode;
}
type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<" | "#" | " ";
enum CompletionTriggerKind {
@ -6526,7 +6558,7 @@ declare namespace ts {
isGlobalCompletion: boolean;
isMemberCompletion: boolean;
/**
* In the absence of `CompletionEntry["replacementSpan"], the editor may choose whether to use
* In the absence of `CompletionEntry["replacementSpan"]`, the editor may choose whether to use
* this span or its default one. If `CompletionEntry["replacementSpan"]` is defined, that span
* must be used to commit that completion entry.
*/
@ -6739,6 +6771,8 @@ declare namespace ts {
* interface Y { foo:number; }
*/
memberVariableElement = "property",
/** class X { [public|private]* accessor foo: number; } */
memberAccessorVariableElement = "accessor",
/**
* class X { constructor() { } }
* class X { static { } }
@ -7018,7 +7052,7 @@ declare namespace ts {
(text: string, isSingleQuote?: boolean | undefined, hasExtendedUnicodeEscape?: boolean | undefined): StringLiteral;
};
/** @deprecated Use `factory.createStringLiteralFromNode` or the factory supplied by your transformation context instead. */
const createStringLiteralFromNode: (sourceNode: PropertyNameLiteral, isSingleQuote?: boolean | undefined) => StringLiteral;
const createStringLiteralFromNode: (sourceNode: PrivateIdentifier | PropertyNameLiteral, isSingleQuote?: boolean | undefined) => StringLiteral;
/** @deprecated Use `factory.createRegularExpressionLiteral` or the factory supplied by your transformation context instead. */
const createRegularExpressionLiteral: (text: string) => RegularExpressionLiteral;
/** @deprecated Use `factory.createLoopVariable` or the factory supplied by your transformation context instead. */