TypeScript-DOM-lib-generator icon indicating copy to clipboard operation
TypeScript-DOM-lib-generator copied to clipboard

Tool for generating dom related TypeScript and JavaScript library files

Results 220 TypeScript-DOM-lib-generator issues
Sort by recently updated
recently updated
newest added

Bump @typescript-eslint/parser from 5.38.0 to 5.38.1

[{"_id":"636c36f9a63f0c535f5c1cb2","body":"Thanks for the PR!\n\nThis section of the codebase is owned by @saschanaz - if they write a comment saying \"LGTM\" then it will be merged.\n<!-- Message About Merging -->","issue_id":1666176284887,"origin_id":1264452888,"user_origin_id":41898282,"create_time":1664650889,"update_time":1664650889,"id":1668036345842,"updated_at":"2022-11-09T23:25:45.842000Z","created_at":"2022-11-09T23:25:45.842000Z"},{"_id":"636c36f9a63f0c535f5c1cb3","body":"Looks like @typescript-eslint\/parser is up-to-date now, so this is no longer needed.","issue_id":1666176284887,"origin_id":1288142737,"user_origin_id":49699333,"create_time":1666540490,"update_time":1666540490,"id":1668036345846,"updated_at":"2022-11-09T23:25:45.845000Z","created_at":"2022-11-09T23:25:45.845000Z"}] comment

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.38.0 to 5.38.1. Release notes Sourced from @​typescript-eslint/parser's releases. v5.38.1 5.38.1 (2022-09-26) Note: Version bump only for package @​typescript-eslint/typescript-eslint Changelog Sourced from @​typescript-eslint/parser's changelog. 5.38.1 (2022-09-26) Note:...

dependencies

Bump @types/node from 18.7.19 to 18.7.23

[{"_id":"636c3100b928086c816dd4dc","body":"Thanks for the PR!\n\nThis section of the codebase is owned by @saschanaz - if they write a comment saying \"LGTM\" then it will be merged.\n<!-- Message About Merging -->","issue_id":1666176284893,"origin_id":1264452874,"user_origin_id":41898282,"create_time":1664650886,"update_time":1664650886,"id":1668034816847,"updated_at":"2022-11-09T23:00:16.846000Z","created_at":"2022-11-09T23:00:16.846000Z"},{"_id":"636c3100b928086c816dd4dd","body":"Looks like @types\/node is up-to-date now, so this is no longer needed.","issue_id":1666176284893,"origin_id":1288142734,"user_origin_id":49699333,"create_time":1666540490,"update_time":1666540490,"id":1668034816856,"updated_at":"2022-11-09T23:00:16.855000Z","created_at":"2022-11-09T23:00:16.855000Z"}] comment

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.7.19 to 18.7.23. Commits See full diff in compare view [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=18.7.19&new-version=18.7.23)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter...

dependencies

Bump typescript from 4.8.3 to 4.8.4

[{"_id":"636c3e72e5647053728207f6","body":"Thanks for the PR!\n\nThis section of the codebase is owned by @saschanaz - if they write a comment saying \"LGTM\" then it will be merged.\n<!-- Message About Merging -->","issue_id":1666176284895,"origin_id":1264452777,"user_origin_id":41898282,"create_time":1664650873,"update_time":1664650873,"id":1668038258380,"updated_at":"2022-11-09T23:57:38.379000Z","created_at":"2022-11-09T23:57:38.379000Z"},{"_id":"636c3e72e5647053728207f7","body":"@dependabot rebase","issue_id":1666176284895,"origin_id":1298419846,"user_origin_id":3396686,"create_time":1667304533,"update_time":1667304533,"id":1668038258383,"updated_at":"2022-11-09T23:57:38.383000Z","created_at":"2022-11-09T23:57:38.383000Z"},{"_id":"636c3e72e5647053728207f8","body":"Looks like typescript is up-to-date now, so this is no longer needed.","issue_id":1666176284895,"origin_id":1298420184,"user_origin_id":49699333,"create_time":1667304552,"update_time":1667304552,"id":1668038258386,"updated_at":"2022-11-09T23:57:38.386000Z","created_at":"2022-11-09T23:57:38.386000Z"}] comment

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.3 to 4.8.4. Release notes Sourced from typescript's releases. TypeScript 4.8.4 For release notes, check out the release announcement. For the complete list of fixed issues, check...

dependencies

Bump danger from 11.1.2 to 11.1.3

[{"_id":"636c3bd21e434437e73c71ec","body":"Thanks for the PR!\n\nThis section of the codebase is owned by @saschanaz - if they write a comment saying \"LGTM\" then it will be merged.\n<!-- Message About Merging -->","issue_id":1666176284898,"origin_id":1264452823,"user_origin_id":41898282,"create_time":1664650879,"update_time":1664650879,"id":1668037586500,"updated_at":"2022-11-09T23:46:26.500000Z","created_at":"2022-11-09T23:46:26.500000Z"},{"_id":"636c3bd21e434437e73c71ed","body":"Looks like danger is up-to-date now, so this is no longer needed.","issue_id":1666176284898,"origin_id":1288142730,"user_origin_id":49699333,"create_time":1666540489,"update_time":1666540489,"id":1668037586505,"updated_at":"2022-11-09T23:46:26.504000Z","created_at":"2022-11-09T23:46:26.504000Z"}] comment

Bumps [danger](https://github.com/danger/danger-js) from 11.1.2 to 11.1.3. Release notes Sourced from danger's releases. Release 11.1.3 Merge pull request #1318 from ivankatliarchuk/issue_1301 (8e58eae) Manually fix (f6d17c0) Merge branch 'main' into issue_1301 (4c52740)...

dependencies

Bump @typescript-eslint/eslint-plugin from 5.38.0 to 5.38.1

[{"_id":"636c34cb1e434437e73c67c5","body":"Thanks for the PR!\n\nThis section of the codebase is owned by @saschanaz - if they write a comment saying \"LGTM\" then it will be merged.\n<!-- Message About Merging -->","issue_id":1666176284901,"origin_id":1264452649,"user_origin_id":41898282,"create_time":1664650856,"update_time":1664650856,"id":1668035787476,"updated_at":"2022-11-09T23:16:27.475000Z","created_at":"2022-11-09T23:16:27.475000Z"},{"_id":"636c34cb1e434437e73c67c6","body":"Looks like @typescript-eslint\/eslint-plugin is up-to-date now, so this is no longer needed.","issue_id":1666176284901,"origin_id":1288142742,"user_origin_id":49699333,"create_time":1666540492,"update_time":1666540492,"id":1668035787479,"updated_at":"2022-11-09T23:16:27.478000Z","created_at":"2022-11-09T23:16:27.478000Z"}] comment

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.38.0 to 5.38.1. Release notes Sourced from @​typescript-eslint/eslint-plugin's releases. v5.38.1 5.38.1 (2022-09-26) Note: Version bump only for package @​typescript-eslint/typescript-eslint Changelog Sourced from @​typescript-eslint/eslint-plugin's changelog. 5.38.1 (2022-09-26) Note:...

dependencies

Add UserActivation interface to Navigator interface in lib.dom.d.ts

[{"_id":"636c310da63f0c535f5c1314","body":"Chrome, Edge and Opera are all chromium based so only 1 implementation but 2 are required for a feature to be added.","issue_id":1666176284904,"origin_id":1270126962,"user_origin_id":24830662,"create_time":1665065534,"update_time":1665065534,"id":1668034829042,"updated_at":"2022-11-09T23:00:29.042000Z","created_at":"2022-11-09T23:00:29.042000Z"},{"_id":"636c310da63f0c535f5c1315","body":"Ok, so the requirements for implementation of a spec sound like it must _not_ be an **experimental technology** as [defined by MDN](https:\/\/developer.mozilla.org\/en-US\/docs\/MDN\/Writing_guidelines\/Experimental_deprecated_obsolete#experimental).\r\n\r\nFor the record, that seems a little conservative, and makes it harder to adopt TypeScript when leveraging new technologies that have real world implementations (by the world's most popular browser).","issue_id":1666176284904,"origin_id":1270455070,"user_origin_id":848178,"create_time":1665077898,"update_time":1665077898,"id":1668034829046,"updated_at":"2022-11-09T23:00:29.046000Z","created_at":"2022-11-09T23:00:29.046000Z"},{"_id":"636c310da63f0c535f5c1316","body":"@morganney You can fork this and change here https:\/\/github.com\/microsoft\/TypeScript-DOM-lib-generator\/blob\/main\/src\/build\/bcd.ts#L17 that chrome count as 2 if you need that. And build it for your use.\r\n\r\nThere are so many experimantal api out there you won't want to include all of them...","issue_id":1666176284904,"origin_id":1270461718,"user_origin_id":24830662,"create_time":1665078265,"update_time":1665078298,"id":1668034829049,"updated_at":"2022-11-09T23:00:29.048000Z","created_at":"2022-11-09T23:00:29.048000Z"},{"_id":"636c310da63f0c535f5c1317","body":"> There are so many experimantal api out there you won't want to include all of them...\r\n\r\n@mathe42 I can understand that stance. Like I alluded to, you are making it harder to use TypeScript while leveraging new tech that _does_ have real world implementations when you make that choice, however.\r\n\r\nThanks for the suggested help.","issue_id":1666176284904,"origin_id":1270464409,"user_origin_id":848178,"create_time":1665078421,"update_time":1665078421,"id":1668034829051,"updated_at":"2022-11-09T23:00:29.051000Z","created_at":"2022-11-09T23:00:29.051000Z"},{"_id":"669e902a616525d35f0bb445","body":"Fixed by #1514.\r\n\r\n@github-actions close","issue_id":1666176284904,"origin_id":1553754690,"user_origin_id":3396686,"create_time":1684450311,"update_time":1684450311,"id":1721667626963,"updated_at":"2024-07-22T17:00:26.962000Z","created_at":"2024-07-22T17:00:26.962000Z"},{"_id":"669e902a616525d35f0bb446","body":"Closing because @saschanaz is one of the code-owners of this repository.","issue_id":1666176284904,"origin_id":1553754856,"user_origin_id":41898282,"create_time":1684450326,"update_time":1684450326,"id":1721667626966,"updated_at":"2024-07-22T17:00:26.966000Z","created_at":"2024-07-22T17:00:26.966000Z"}] comment

I'm using `tsc` 4.8.4 and there is no support for `navigator.userActivation`. This is now part of the HTML Living Standard and implemented by Chrome, Edge, and Opera browsers. Spec: https://html.spec.whatwg.org/multipage/interaction.html#the-useractivation-interface...

Update core dependencies

[{"_id":"636c3f86e564705372820a49","body":"Thanks for the PR!\n\nThis section of the codebase is owned by @saschanaz - if they write a comment saying \"LGTM\" then it will be merged.\n<!-- Message About Merging -->","issue_id":1666176284912,"origin_id":1260544852,"user_origin_id":41898282,"create_time":1664352701,"update_time":1664352701,"id":1668038534846,"updated_at":"2022-11-10T00:02:14.845000Z","created_at":"2022-11-10T00:02:14.845000Z"}] comment

Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action

add crypto.subtle.derivebits EcdhKeyDeriveParams length null overload

[{"_id":"636c2dbbe56470537281eb92","body":"Thanks for the PR!\n\nThis section of the codebase is owned by @saschanaz - if they write a comment saying \"LGTM\" then it will be merged.\n<!-- Message About Merging -->","issue_id":1666176284924,"origin_id":1265265024,"user_origin_id":41898282,"create_time":1664794266,"update_time":1664794266,"id":1668033979406,"updated_at":"2022-11-09T22:46:19.405000Z","created_at":"2022-11-09T22:46:19.405000Z"},{"_id":"636c2dbbe56470537281eb93","body":"This doesn't make sense, the algorithm cannot get `length` as null when the IDL doesn't allow it. I'll file a bug there.","issue_id":1666176284924,"origin_id":1295778754,"user_origin_id":3396686,"create_time":1667034619,"update_time":1667034619,"id":1668033979409,"updated_at":"2022-11-09T22:46:19.409000Z","created_at":"2022-11-09T22:46:19.409000Z"},{"_id":"636c2dbbe56470537281eb94","body":"Oh, you already did: https:\/\/github.com\/w3c\/webcrypto\/issues\/322\r\n\r\nI'll wait for the response in that case.","issue_id":1666176284924,"origin_id":1295779296,"user_origin_id":3396686,"create_time":1667034736,"update_time":1667034736,"id":1668033979412,"updated_at":"2022-11-09T22:46:19.412000Z","created_at":"2022-11-09T22:46:19.412000Z"}] comment

As per https://github.com/w3c/webcrypto/pull/345

Web Codecs API Definitions

[{"_id":"636c3d51e56470537282061c","body":"https:\/\/github.com\/microsoft\/TypeScript-DOM-lib-generator#why-is-my-fancy-api-still-not-available-here\r\n\r\n> Why is my fancy API still not available here? \r\n> A feature needs to be supported by two or more major browser engines to be included here, to make sure there is a good consensus among vendors: Gecko (Firefox), Blink (Chrome\/Edge), and WebKit (Safari).\r\n\r\nThat API only seems to be supported by Chromium browsers.","issue_id":1666176284938,"origin_id":1253277597,"user_origin_id":5269069,"create_time":1663542863,"update_time":1663542863,"id":1668037969452,"updated_at":"2022-11-09T23:52:49.451000Z","created_at":"2022-11-09T23:52:49.451000Z"},{"_id":"636c3d51e56470537282061d","body":"Expand below for reference WebCodecs API definitions in lieu of multiple browser support\r\n\r\n<details>\r\n<summary>Web Codecs API Definitions<\/summary>\r\n\r\n```typescript\r\n\/\/ -----------------------------------------------------------------------\r\n\/\/ MediaStream API: Extension Type Definitions\r\n\/\/ -----------------------------------------------------------------------\r\n\r\ndeclare interface MediaStreamTrackProcessorOptions {\r\n \/** A MediaStreamTrack *\/\r\n track: MediaStreamTrack\r\n \/** An integer specifying the maximum number of media frames to be buffered. *\/\r\n maxBufferSize?: number\r\n}\r\n\r\ndeclare class MediaStreamTrackProcessor extends MediaStreamTrack {\r\n constructor(options: MediaStreamTrackProcessorOptions)\r\n readable: ReadableStream<VideoFrame>\r\n}\r\n\r\ndeclare interface MediaStreamTrackGeneratorOptions {\r\n \/** A MediaStreamTrack *\/\r\n kind: 'audio' | 'video'\r\n}\r\n\r\ndeclare class MediaStreamTrackGenerator {\r\n constructor(options: MediaStreamTrackGeneratorOptions)\r\n readonly writable: WritableStream<VideoFrame>\r\n}\r\n\r\n\/\/ -----------------------------------------------------------------------\r\n\/\/ WebCodecs API: Type Definitions\r\n\/\/ -----------------------------------------------------------------------\r\n\r\ndeclare type WebCodecsHardwareAcceleration = 'no-preference' | 'prefer-hardware' | 'prefer-software'\r\ndeclare type WebCodecsState = 'unconfigured' | 'configured' | 'closed'\r\n\/** 'flac' | 'mp3' | 'mp4a.*' | 'opus' | 'vorbis' | 'ulaw' | 'alaw' | 'pcm-*' *\/\r\ndeclare type WebCodecCodecString = string\r\n\r\ndeclare class EncodedAudioChunk {\r\n constructor(options: { type: 'key' | 'delta'; timestamp: number; duration: number; data: ArrayBuffer })\r\n readonly type: 'key' | 'delta'\r\n readonly timestamp: number\r\n readonly duration: number\r\n readonly byteLength: number\r\n public copyTo(buffer: ArrayBuffer | DataView): void\r\n}\r\n\r\ndeclare class EncodedVideoChunk {\r\n constructor(options: { type: 'key' | 'delta'; timestamp: number; duration: number; data: ArrayBuffer | DataView })\r\n readonly type: 'key' | 'delta'\r\n readonly timestamp: number\r\n readonly duration: number\r\n readonly byteLength: number\r\n \/** Copies the encoded video data. *\/\r\n public copyTo(destination: ArrayBuffer | DataView): void\r\n}\r\n\r\ndeclare interface AudioEncoderConfigureOptions {\r\n codec: WebCodecCodecString\r\n \/** An integer representing the number of frame samples per second. *\/\r\n sampleRate: number\r\n \/** An integer representing the number of audio channels. *\/\r\n numberOfChannels: number\r\n \/** Aa ArrayBuffer, a TypedArray, or a DataView containing a sequence of codec specific bytes, commonly known as extradata. *\/\r\n description?: ArrayBuffer | DataView\r\n}\r\ndeclare class AudioData {\r\n \/** Returns the sample format of the audio. *\/\r\n readonly format: 'u8' | 's16' | 's32' | 'f32' | 'u8-planar' | 's16-planar' | 's32-planar' | 'f32-planar'\r\n \/** Returns the sample rate of the audio in Hz. *\/\r\n readonly sampleRate: number\r\n \/** Returns the number of frames. *\/\r\n readonly numberOfFrames: number\r\n \/** Returns the number of audio channels. *\/\r\n readonly numberOfChannels: number\r\n \/** Returns the duration of the audio in microseconds. *\/\r\n readonly duration: number\r\n \/** Returns the timestamp of the audio in microseconds. *\/\r\n readonly timestamp: number\r\n \/** Returns the number of bytes required to hold the sample as filtered by options passed into the method. *\/\r\n public allocationSize(options: { planeIndex: number; frameOffset?: number; frameCount?: number }): number\r\n \/** Copies the samples from the specified plane of the AudioData object to the destination. *\/\r\n public copyTo(destination: ArrayBuffer, options: { planeIndex: number; frameOffset?: number; frameCount?: number }): void\r\n \/** Creates a new AudioData object with reference to the same media resource as the original. *\/\r\n public clone(): AudioData\r\n \/** Clears all states and releases the reference to the media resource. *\/\r\n public close(): void\r\n}\r\n\r\ndeclare type AudioEncoderOutputMetadata = {\r\n codec: WebCodecCodecString\r\n sampleRate: number\r\n numberOfChannels: number\r\n description?: ArrayBuffer\r\n}\r\ndeclare type AudioEncoderOutputCallback = (chunk: EncodedAudioChunk, metadata: AudioEncoderOutputMetadata) => any\r\ndeclare type AudioEncoderErrorCallback = (error: Error) => any\r\ndeclare class AudioEncoder {\r\n constructor(init: { output: AudioEncoderOutputCallback; error: AudioEncoderErrorCallback })\r\n readonly decodeQueueSize: number\r\n readonly state: WebCodecsState\r\n \/** Enqueues a control message to configure the audio decoder for decoding chunks. *\/\r\n public configure(options: AudioEncoderConfigureOptions): void\r\n \/** Enqueues a control message to decode a given chunk of audio. *\/\r\n public decode(chunk: EncodedAudioChunk): void\r\n \/** Returns a promise that resolves once all pending messages in the queue have been completed. *\/\r\n public flush(): Promise<void>\r\n \/** Resets all states including configuration, control messages in the control message queue, and all pending callbacks. *\/\r\n public reset(): void\r\n \/** Ends all pending work and releases system resources. *\/\r\n public close(): void\r\n}\r\n\r\ndeclare type AudioDecoderOutputCallback = (data: AudioData) => any\r\ndeclare type AudioDecoderErrorCallback = (error: Error) => any\r\ndeclare class AudioDecoder {\r\n constructor(init: { output: AudioDecoderOutputCallback; error: AudioDecoderErrorCallback })\r\n readonly decodeQueueSize: number\r\n readonly state: WebCodecsState\r\n \/** Enqueues a control message to configure the audio decoder for decoding chunks. *\/\r\n public configure(options: { codec: WebCodecCodecString; sampleRate: number; numberOfChannels: number; description?: ArrayBuffer }): void\r\n \/** Enqueues a control message to decode a given chunk of audio. *\/\r\n public decode(chunk: EncodedAudioChunk): void\r\n \/** Returns a promise that resolves once all pending messages in the queue have been completed. *\/\r\n public flush(): Promise<void>\r\n \/** Resets all states including configuration, control messages in the control message queue, and all pending callbacks. *\/\r\n public reset(): void\r\n \/** Ends all pending work and releases system resources. *\/\r\n public close(): void\r\n}\r\n\r\ndeclare class ImageDecoder {\r\n constructor(init: {\r\n \/** A string containing the MIME type of the image file to be decoded. *\/\r\n type: string\r\n data: ArrayBuffer | DataView | ReadableStream\r\n premultiplyAlpha?: 'none' | 'premultiply' | 'default'\r\n colorSpaceConversion?: 'default' | 'none'\r\n desiredWidth?: number\r\n desiredHeight?: number\r\n preferAnimation?: boolean\r\n })\r\n readonly complete: boolean\r\n readonly completed: Promise<void>\r\n readonly tracks: ImageTrackList\r\n readonly type: string\r\n \/** Ends all pending work and releases system resources. *\/\r\n public close(): void\r\n \/** Enqueues a control message to decode the frame of an image. *\/\r\n public decode(options?: { frameIndex?: number; completeFramesOnly?: boolean }): Promise<{ image: VideoFrame; complete: boolean }>\r\n \/** Aborts all pending decode() operations. *\/\r\n public reset(): void\r\n\r\n \/** Indicates if the provided MIME type is supported for unpacking and decoding. *\/\r\n public static isTypeSupported(type: string): boolean\r\n}\r\n\r\ndeclare interface ImageTrack {\r\n \/** Returns a boolean indicating whether the track is animated and therefore has multiple frames. *\/\r\n readonly animated: boolean\r\n \/** Returns an integer indicating the number of frames in the track. *\/\r\n readonly frameCount: number\r\n \/** Returns an integer indicating the number of times that the animation repeats. *\/\r\n readonly repetitionCount: number\r\n \/** Returns a boolean indicating whether the track is selected for decoding. *\/\r\n readonly selected: boolean\r\n}\r\n\r\ndeclare interface ImageTrackList {\r\n \/** Returns a promise that resolves once the ImageTrackList has been populated with tracks. *\/\r\n readonly ready: Promise<void>\r\n \/** Returns an integer indicating the length of the ImageTrackList. *\/\r\n readonly length: number\r\n \/** Returns an integer indicating the index of the selectedTrack. *\/\r\n readonly selectedIndex: number\r\n \/** Returns the selected ImageTrack. *\/\r\n readonly selectedTrack: ImageTrack\r\n}\r\n\r\ndeclare type VideoDecoderOutputCallback = (frame: VideoFrame) => any\r\ndeclare type VideoDecoderErrorCallback = (error: Error) => any\r\ndeclare interface VideoDecoderConfiguration {\r\n codec: WebCodecCodecString\r\n description?: ArrayBuffer | DataView\r\n codedWidth?: number\r\n codedHeight?: number\r\n displayAspectHeight?: number\r\n colorSpace?: VideoColorSpace\r\n hardwareAcceleration?: WebCodecsHardwareAcceleration\r\n optimizeForLatency?: boolean\r\n}\r\n\r\ndeclare class VideoDecoder {\r\n constructor(options: { output: VideoDecoderOutputCallback; error: VideoDecoderErrorCallback })\r\n \/** An integer representing the number of decode queue requests. *\/\r\n readonly decodeQueueSize: number\r\n \/** Indicates whether the underlying codec is configured for decoding. *\/\r\n readonly state: WebCodecsState\r\n \/** Enqueues a control message to configure the video decoder for decoding chunks. *\/\r\n public configure(config: VideoDecoderConfiguration): void\r\n \/** Enqueues a control message to decode a given chunk of video. *\/\r\n public decode(chunk: EncodedVideoChunk): void\r\n \/** Returns a promise that resolves once all pending messages in the queue have been completed. *\/\r\n public flush(): Promise<void>\r\n \/** Resets all states including configuration, control messages in the control message queue, and all pending callbacks. *\/\r\n public reset(): void\r\n \/** Ends all pending work and releases system resources. *\/\r\n public close(): void\r\n}\r\n\r\ndeclare type VideoEncoderOutputMetadata = {\r\n decoderconfig?: {\r\n codec: WebCodecCodecString\r\n description?: ArrayBuffer | DataView\r\n codedWidth?: number\r\n codedHeight?: number\r\n displayAspectWidth?: number\r\n displayAspectHeight?: number\r\n colorSpace?: VideoColorSpace\r\n hardwareAcceleration?: WebCodecsHardwareAcceleration\r\n optimizeForLatency?: boolean\r\n }\r\n svc: {\r\n temporalLayerId: number\r\n }\r\n}\r\n\r\ndeclare type VideoEncoderOutputCallback = (encoded: EncodedVideoChunk, metadata?: VideoEncoderOutputMetadata) => any\r\ndeclare type VideoEncoderErrorCallback = (error: Error) => any\r\ndeclare interface VideoEncoderConfiguration {\r\n \/** A string containing a valid codec string *\/\r\n codec?: WebCodecCodecString\r\n \/** An integer representing the width of each output EncodedVideoChunk in pixels, before any ratio adjustments. *\/\r\n width?: number\r\n \/** An integer representing the height of each output EncodedVideoChunk in pixels, before any ratio adjustments. *\/\r\n height?: number\r\n \/** An integer representing the intended display width of each output EncodedVideoChunk in pixels when displayed. *\/\r\n displayWidth?: number\r\n \/** An integer representing the vertical dimension of each output EncodedVideoChunk in pixels when displayed. *\/\r\n displayHeight?: number\r\n \/** A hint that configures the hardware acceleration method of this codec. *\/\r\n hardwareAcceleration?: WebCodecsHardwareAcceleration\r\n \/** An integer containing the average bitrate of the encoded video in units of bits per second. *\/\r\n bitrate?: number\r\n \/** An integer containing the expected frame rate in frames per second. *\/\r\n framerate?: number\r\n \/** A string indicating whether the alpha component of the VideoFrame inputs should be kept or discarded prior to encoding. *\/\r\n alpha?: 'discard' | 'keep'\r\n \/** A string containing an encoding scalability mode identifier as defined in https:\/\/w3c.github.io\/webrtc-svc\/#scalabilitymodes* *\/\r\n scalabilityMode?: string\r\n \/** A string containing a bitrate mode. *\/\r\n bitrateMode?: 'constant' | 'variable'\r\n \/** A string containing a value that configures the latency behavior of this codec. *\/\r\n latencyMode?: 'quality' | 'realtime'\r\n}\r\ndeclare class VideoEncoder {\r\n constructor(options: { output: VideoEncoderOutputCallback; error: VideoEncoderErrorCallback })\r\n \/** An integer representing the number of encode queue requests. *\/\r\n readonly encodeQueueSize: number\r\n \/** Represents the state of the underlying codec and whether it is configured for encoding. *\/\r\n readonly state: WebCodecsState\r\n \/** Enqueues a control message to configure the video encoder for encoding chunks. *\/\r\n public configure(options: VideoEncoderConfiguration): void\r\n \/** Enqueues a control message to encode a given VideoFrame. *\/\r\n public encode(frame: VideoFrame, options?: { keyFrame: boolean }): void\r\n \/** Returns a promise that resolves once all pending messages in the queue have been completed. *\/\r\n public flush(): Promise<void>\r\n \/** Returns a promise indicating whether the provided VideoEncoderConfig is supported. *\/\r\n public isConfigSupported(): Promise<{ supported?: boolean; config?: VideoEncoderConfiguration }>\r\n \/** Resets all states including configuration, control messages in the control message queue, and all pending callbacks. *\/\r\n public reset(): void\r\n \/** Ends all pending work and releases system resources. *\/\r\n public close(): void\r\n}\r\n\r\ndeclare interface VideoColorSpaceOptions {\r\n primaries?: 'bt709' | 'bt470bg' | 'smpte170m'\r\n transfer?: 'bt709' | 'smpte170m' | 'iec61966-2-1'\r\n matrix?: 'rgb' | 'bt709' | 'bt470bg' | 'smpte170m'\r\n fullRange?: boolean\r\n}\r\n\r\n\/\/ declare class VideoColorSpace {\r\n\/\/ constructor(options?: VideoColorSpaceOptions)\r\n\/\/ public toJSON(): any\r\n\/\/ }\r\n\r\ndeclare interface VideoFrameOptions {\r\n \/** An integer representing the duration of the frame in microseconds. *\/\r\n duration?: number\r\n \/** An integer representing the timestamp of the frame in microseconds. *\/\r\n timestamp: number\r\n \/** A string, describing how the user agent should behave when dealing with alpha channels. *\/\r\n alpha?: 'keep' | 'discard'\r\n \/** An object representing the visible rectangle of the VideoFrame. *\/\r\n visibleRect?: { x: number; y: number; width: number; height: number }\r\n \/** The width of the VideoFrame when displayed after applying aspect-ratio adjustments. *\/\r\n displayWidth?: number\r\n \/** The height of the VideoFrame when displayed after applying aspect-ratio adjustments. *\/\r\n displayHeight?: number\r\n}\r\n\r\ndeclare type VideoFrameFormat = 'I420' | 'I420A' | 'I422' | 'I444' | 'NV12' | 'RGBA' | 'RGBX' | 'BGRA' | 'BGRX'\r\n\r\ndeclare interface VideoFrameBufferOptions {\r\n \/** A string representing the video pixel format. *\/\r\n format?: VideoFrameFormat\r\n \/** Width of the VideoFrame in pixels, potentially including non-visible padding, and prior to considering potential ratio adjustments. *\/\r\n codedWidth?: number\r\n \/** Height of the VideoFrame in pixels, potentially including non-visible padding, and prior to considering potential ratio adjustments. *\/\r\n codedHeight?: number\r\n \/** An integer representing the timestamp of the frame in microseconds. *\/\r\n timestamp: number\r\n \/** An integer representing the duration of the frame in microseconds. *\/\r\n duration?: number\r\n \/** A list containing the following values for each plane in the VideoFrame *\/\r\n layout?: { offset: number; stride: number }[]\r\n \/** An object representing the visible rectangle of the VideoFrame. *\/\r\n visibleRect?: { x: number; y: number; width: number; height: number }\r\n \/** The width of the VideoFrame when displayed after applying aspect-ratio adjustments. *\/\r\n displayWidth?: number\r\n \/** The height of the VideoFrame when displayed after applying aspect-ratio adjustments. *\/\r\n displayHeight?: number\r\n \/** An object representing the color space of the VideoFrame *\/\r\n colorSpace?: VideoColorSpace\r\n}\r\n\r\ndeclare class VideoFrame {\r\n constructor(image: SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | VideoFrame, options: VideoFrameOptions)\r\n constructor(data: ArrayBuffer | ArrayBufferView, options: VideoFrameBufferOptions)\r\n readonly format: VideoFrameFormat\r\n readonly codedWidth: number\r\n readonly codedHeight: number\r\n readonly codedRect: DOMRectReadOnly\r\n readonly displayWidth: number\r\n readonly displayHeight: number\r\n readonly duration: number\r\n readonly timestamp: number\r\n readonly colorSpace: VideoColorSpace\r\n \/** Returns the number of bytes required to hold the VideoFrame as filtered by options passed into the method. *\/\r\n public allocationSize(options?: { rect?: { x: number; y: number; width: number; height: number }; layout?: { offset: number; stride: number }[] }): number\r\n \/** Copies the contents of the VideoFrame to an ArrayBuffer. *\/\r\n public copyTo(\r\n destination: ArrayBuffer | DataView,\r\n options?: {\r\n rect?: { x: number; y: number; width: number; height: number }\r\n layout?: { offset: number; stride: number }[]\r\n },\r\n ): Promise<void>\r\n \/** Creates a new VideoFrame object with reference to the same media resource as the original. *\/\r\n public clone(): VideoFrame\r\n \/** Clears all states and releases the reference to the media resource. *\/\r\n public close(): void\r\n}\r\n\r\n```\r\n\r\n<\/details>","issue_id":1666176284938,"origin_id":1253277599,"user_origin_id":3048342,"create_time":1663547580,"update_time":1663717366,"id":1668037969455,"updated_at":"2022-11-09T23:52:49.454000Z","created_at":"2022-11-09T23:52:49.454000Z"},{"_id":"669e902ea6309140e00541da","body":"You can also simply install the following package: https:\/\/www.npmjs.com\/package\/@types\/dom-webcodecs ","issue_id":1666176284938,"origin_id":1445309848,"user_origin_id":787865,"create_time":1677404272,"update_time":1677404272,"id":1721667630775,"updated_at":"2024-07-22T17:00:30.774000Z","created_at":"2024-07-22T17:00:30.774000Z"},{"_id":"669e902ea6309140e00541db","body":"Video related types are added by https:\/\/github.com\/microsoft\/TypeScript-DOM-lib-generator\/pull\/1514, remaining things will be added when browser engine implementations come. Use the `@types` package mentioned above if you need audio\/image things before that.\r\n\r\n@github-actions close","issue_id":1666176284938,"origin_id":1455039587,"user_origin_id":3396686,"create_time":1678009276,"update_time":1678009293,"id":1721667630780,"updated_at":"2024-07-22T17:00:30.779000Z","created_at":"2024-07-22T17:00:30.779000Z"},{"_id":"669e902ea6309140e00541dc","body":"Closing because @saschanaz is one of the code-owners of this repository.","issue_id":1666176284938,"origin_id":1455039629,"user_origin_id":41898282,"create_time":1678009289,"update_time":1678009289,"id":1721667630788,"updated_at":"2024-07-22T17:00:30.787000Z","created_at":"2024-07-22T17:00:30.787000Z"}] comment

# Suggestion Would be good to include the WebCodecs API as part of the TS DOM definitions https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API ## 🔍 Search Terms AudioData AudioDecoder AudioEncoder EncodedAudioChunk EncodedVideoChunk ImageDecoder ImageTrack ImageTrackList...

Create lib.common.d.ts?

[{"_id":"669e902aa6309140e00541d6","body":"I stumble upon another issue today that \r\n\r\n## TypeScript thinks that NodeJS web streams are not the same as DOM web streams\r\n\r\nWhen i tried this code it throws an error saying that they are not compatible with each other.\r\nThat they are not exactly matching.\r\n\r\n![image](https:\/\/github.com\/DefinitelyTyped\/DefinitelyTyped\/assets\/1148376\/96863da2-3a7f-42f8-9fc4-d6f304df0152)\r\n\r\none comes from `@types\/node` and the other one comes from `lib.dom`\r\n![image](https:\/\/github.com\/DefinitelyTyped\/DefinitelyTyped\/assets\/1148376\/b655b0cf-ca59-4b31-bb4e-a40b6131c796)\r\n![image](https:\/\/github.com\/DefinitelyTyped\/DefinitelyTyped\/assets\/1148376\/ff3c73af-c215-48ef-8d83-4f56aa755ca1)\r\n\r\n\r\n![image](https:\/\/github.com\/DefinitelyTyped\/DefinitelyTyped\/assets\/1148376\/edaf35d7-b3d3-4b95-b7e6-9a91d25cc3da)\r\n![image](https:\/\/github.com\/DefinitelyTyped\/DefinitelyTyped\/assets\/1148376\/2c439477-51fa-432a-b5ce-cadc88bf23fd)\r\n\r\nEven tough they are exactly the same `globalThis.ReadableStream === require('stream\/web').ReadableStream`\r\n\r\nYou should definitely consider splitting up `lib.dom` into one that every environment have built in in both browser and non-browser context (that also includes different web worker).\r\n\r\n> + \"2+ non-browser implementations (node, deno, etc.)\".\r\nthink Bun.js should be part of this\r\n\r\nI think that that `common.d.ts` should should just be defined by the [wintercg common min api](https:\/\/common-min-api.proposal.wintercg.org\/#index) rather than defining some kind of minimum rule that at least 2 should have it.\r\n\r\njust the other week i had a beef with atob \/ btoa where it said that they where deprecated in NodeJS but not the DOM\r\n\r\nSo i think that it would be worth it if every project extended `lib.common.d.ts`","issue_id":1666176284945,"origin_id":1556028214,"user_origin_id":1148376,"create_time":1684620967,"update_time":1684620967,"id":1721667626980,"updated_at":"2024-07-22T17:00:26.979000Z","created_at":"2024-07-22T17:00:26.979000Z"},{"_id":"669e902aa6309140e00541d7","body":"and btw, i think all the issues in @saschanaz https:\/\/github.com\/microsoft\/TypeScript-DOM-lib-generator\/issues\/1402#issue-1377066431 where he linked to a few issues should be closed as a duplicate of this issue as i think this issue is the right path forward.\r\n\r\n> closing as dupl of [microsoft\/TypeScript-DOM-lib-generator#1402](microsoft\/TypeScript-DOM-lib-generator#1402)","issue_id":1666176284945,"origin_id":1556029482,"user_origin_id":1148376,"create_time":1684621232,"update_time":1684621284,"id":1721667626983,"updated_at":"2024-07-22T17:00:26.983000Z","created_at":"2024-07-22T17:00:26.983000Z"},{"_id":"669e902aa6309140e00541d8","body":"> I think that that `common.d.ts` should should just be defined by the [wintercg common min api](https:\/\/common-min-api.proposal.wintercg.org\/#index) rather than defining some kind of minimum rule that at least 2 should have it.\r\n\r\nThat's in no way official at this point, so I'd rather not use it.\r\n\r\n\r\n> where he linked to\r\n\r\nWrong. \ud83d\ude09","issue_id":1666176284945,"origin_id":1556053872,"user_origin_id":3396686,"create_time":1684630380,"update_time":1684630380,"id":1721667626985,"updated_at":"2024-07-22T17:00:26.985000Z","created_at":"2024-07-22T17:00:26.985000Z"},{"_id":"669e902aa6309140e00541d9","body":"I meet a similar issue. You can't use `for await` on `ReadableStream` because `AsyncIterable` interface has not been added into `dom` lib or `@types\/web`. Even you use `@types\/node`, if you import `ReadableStream` from `node:stream\/web`, you can use `for await`, but the global `ReadableStream` doesn't work though they actually are same in node env. There might be other similar issues. It's clear that we need `lib.common.d.ts`.\r\n\r\nAnd we also want `@types\/wintercg-api` or some similar for the use cases which the user want to ensure the code only use common APIs crossed web, node, deno, bun, cloudflare workers and so on. ","issue_id":1666176284945,"origin_id":1751947154,"user_origin_id":159840,"create_time":1696749937,"update_time":1696749937,"id":1721667626989,"updated_at":"2024-07-22T17:00:26.988000Z","created_at":"2024-07-22T17:00:26.988000Z"}] comment

Situations like https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1368 will keep happening as the commonly implemented interfaces update their definitions time to time. It might be worth to have a separate library for this. The requirement...