Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more streams keys/features #2358

Merged
merged 14 commits into from
Dec 19, 2024
126 changes: 89 additions & 37 deletions features/streams.yml
autonome marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,92 @@ description: The streams API creates, composes, and consumes continuously genera
spec: https://streams.spec.whatwg.org/
caniuse: streams
group: streams
# TODO: Later support
# - api.ReadableStreamDefaultController
# - api.ReadableStreamDefaultController.close
# - api.ReadableStreamDefaultController.desiredSize
# - api.ReadableStreamDefaultController.enqueue
# - api.ReadableStreamDefaultController.error
# - api.ReadableStreamDefaultReader
# - api.ReadableStreamDefaultReader.cancel
# - api.ReadableStreamDefaultReader.closed
# - api.ReadableStreamDefaultReader.read
# - api.ReadableStreamDefaultReader.releaseLock
# - api.TransformStream
# - api.TransformStream.TransformStream
# - api.TransformStream.readable
# - api.TransformStream.writable
# - api.TransformStreamDefaultController
# - api.TransformStreamDefaultController.desiredSize
# - api.TransformStreamDefaultController.enqueue
# - api.TransformStreamDefaultController.error
# - api.TransformStreamDefaultController.terminate
# - api.WritableStream.close
# - api.WritableStreamDefaultWriter.WritableStreamDefaultWriter

# TODO: consider BYOB feature
# - api.ReadableStreamBYOBReader
# - api.ReadableStreamBYOBReader.ReadableStreamBYOBReader
# - api.ReadableStreamBYOBReader.cancel
# - api.ReadableStreamBYOBReader.closed
# - api.ReadableStreamBYOBReader.read
# - api.ReadableStreamBYOBReader.releaseLock
# - api.ReadableStreamBYOBRequest
# - api.ReadableStreamBYOBRequest.respond
# - api.ReadableStreamBYOBRequest.respondWithNewView
# - api.ReadableStreamBYOBRequest.view

# TODO: consider abortable stream feature
# - api.WritableStreamDefaultController.signal
# Computing status to match Caniuse, which considers support beginning
# at BYOB shipping.
status:
compute_from:
- api.ReadableStreamBYOBReader
compat_features:
- api.ReadableByteStreamController
- api.ReadableByteStreamController.byobRequest
- api.ReadableByteStreamController.close
- api.ReadableByteStreamController.desiredSize
- api.ReadableByteStreamController.enqueue
- api.ReadableByteStreamController.error
- api.ReadableStream.from_static
- api.ReadableStream.transferable
- api.ReadableStream.values
- api.ReadableStreamBYOBReader
- api.ReadableStreamBYOBReader.ReadableStreamBYOBReader
- api.ReadableStreamBYOBReader.cancel
- api.ReadableStreamBYOBReader.closed
- api.ReadableStreamBYOBReader.read
- api.ReadableStreamBYOBReader.read.options_min_parameter
- api.ReadableStreamBYOBReader.releaseLock
- api.ReadableStreamBYOBReader.releaseLock.reject_pending_read_request
- api.ReadableStreamBYOBRequest
- api.ReadableStreamBYOBRequest.respond
- api.ReadableStreamBYOBRequest.respondWithNewView
- api.ReadableStreamBYOBRequest.view
- api.ReadableStreamDefaultController
- api.ReadableStreamDefaultController.close
- api.ReadableStreamDefaultController.desiredSize
- api.ReadableStreamDefaultController.enqueue
- api.ReadableStreamDefaultController.error
- api.ReadableStreamDefaultReader
- api.ReadableStreamDefaultReader.ReadableStreamDefaultReader
- api.ReadableStreamDefaultReader.cancel
- api.ReadableStreamDefaultReader.closed
- api.ReadableStreamDefaultReader.read
- api.ReadableStreamDefaultReader.releaseLock
- api.ReadableStreamDefaultReader.releaseLock.reject_pending_read_request
- api.TextDecoderStream.readable
- api.TextDecoderStream.writable
- api.TextEncoderStream.readable
- api.TextEncoderStream.writable
- api.TransformStream
- api.TransformStream.TransformStream
- api.TransformStream.readable
- api.TransformStream.transferable
- api.TransformStream.writable
- api.TransformStreamDefaultController
- api.TransformStreamDefaultController.desiredSize
- api.TransformStreamDefaultController.enqueue
- api.TransformStreamDefaultController.error
- api.TransformStreamDefaultController.terminate
- api.WritableStream.close
- api.WritableStream.transferable
# TODO: consider abortable stream feature
autonome marked this conversation as resolved.
Show resolved Hide resolved
- api.WritableStreamDefaultController.signal
- api.WritableStreamDefaultWriter.WritableStreamDefaultWriter
- api.ByteLengthQueuingStrategy
- api.ByteLengthQueuingStrategy.ByteLengthQueuingStrategy
- api.ByteLengthQueuingStrategy.highWaterMark
- api.ByteLengthQueuingStrategy.size
- api.CountQueuingStrategy
- api.CountQueuingStrategy.CountQueuingStrategy
- api.CountQueuingStrategy.highWaterMark
- api.CountQueuingStrategy.size
- api.ReadableStream
- api.ReadableStream.ReadableStream
- api.ReadableStream.cancel
- api.ReadableStream.getReader
- api.ReadableStream.locked
- api.ReadableStream.pipeThrough
- api.ReadableStream.pipeTo
- api.ReadableStream.tee
- api.WritableStream
- api.WritableStream.WritableStream
- api.WritableStream.abort
- api.WritableStream.getWriter
- api.WritableStream.locked
- api.WritableStreamDefaultController
- api.WritableStreamDefaultController.error
- api.WritableStreamDefaultWriter
- api.WritableStreamDefaultWriter.abort
- api.WritableStreamDefaultWriter.close
- api.WritableStreamDefaultWriter.closed
- api.WritableStreamDefaultWriter.desiredSize
- api.WritableStreamDefaultWriter.ready
- api.WritableStreamDefaultWriter.releaseLock
- api.WritableStreamDefaultWriter.write
189 changes: 182 additions & 7 deletions features/streams.yml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,13 @@
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: low
baseline_low_date: 2022-06-28
baseline: false
support:
chrome: "59"
chrome_android: "59"
edge: "79"
chrome: "89"
chrome_android: "89"
edge: "89"
firefox: "102"
firefox_android: "102"
safari: "14.1"
safari_ios: "14.5"
compat_features:
# baseline: high
# baseline_low_date: 2019-01-29
Expand Down Expand Up @@ -61,6 +58,40 @@ compat_features:
- api.CountQueuingStrategy.highWaterMark
- api.CountQueuingStrategy.size

# baseline: high
# baseline_low_date: 2020-01-15
# baseline_high_date: 2022-07-15
# support:
# chrome: "43"
# chrome_android: "43"
# edge: "79"
# firefox: "65"
# firefox_android: "65"
# safari: "10"
# safari_ios: "10"
- api.ReadableStreamDefaultReader
- api.ReadableStreamDefaultReader.cancel
- api.ReadableStreamDefaultReader.closed
- api.ReadableStreamDefaultReader.read
- api.ReadableStreamDefaultReader.releaseLock

# baseline: high
# baseline_low_date: 2020-01-15
# baseline_high_date: 2022-07-15
# support:
# chrome: "52"
# chrome_android: "52"
# edge: "79"
# firefox: "65"
# firefox_android: "65"
# safari: "10"
# safari_ios: "10"
- api.ReadableStreamDefaultController
- api.ReadableStreamDefaultController.close
- api.ReadableStreamDefaultController.desiredSize
- api.ReadableStreamDefaultController.enqueue
- api.ReadableStreamDefaultController.error

# baseline: high
# baseline_low_date: 2020-01-15
# baseline_high_date: 2022-07-15
Expand Down Expand Up @@ -115,6 +146,32 @@ compat_features:
# safari_ios: "10.3"
- api.ReadableStream.pipeTo

# baseline: high
# baseline_low_date: 2022-05-03
# baseline_high_date: 2024-11-03
# support:
# chrome: "78"
# chrome_android: "78"
# edge: "79"
# firefox: "100"
# firefox_android: "100"
# safari: "14.1"
# safari_ios: "14.5"
- api.WritableStreamDefaultWriter.WritableStreamDefaultWriter

# baseline: high
# baseline_low_date: 2022-05-03
# baseline_high_date: 2024-11-03
# support:
# chrome: "81"
# chrome_android: "81"
# edge: "81"
# firefox: "100"
# firefox_android: "100"
# safari: "14.1"
# safari_ios: "14.5"
- api.WritableStream.close

# baseline: low
# baseline_low_date: 2022-06-28
# support:
Expand All @@ -126,3 +183,121 @@ compat_features:
# safari: "10.1"
# safari_ios: "10.3"
- api.ReadableStream.pipeThrough

# baseline: low
# baseline_low_date: 2022-06-28
# support:
# chrome: "67"
# chrome_android: "67"
# edge: "79"
# firefox: "102"
# firefox_android: "102"
# safari: "14.1"
# safari_ios: "14.5"
- api.TransformStream
- api.TransformStream.TransformStream
- api.TransformStream.readable
- api.TransformStream.writable
- api.TransformStreamDefaultController
- api.TransformStreamDefaultController.desiredSize
- api.TransformStreamDefaultController.enqueue
- api.TransformStreamDefaultController.error
- api.TransformStreamDefaultController.terminate

# baseline: low
# baseline_low_date: 2022-09-20
# support:
# chrome: "71"
# chrome_android: "71"
# edge: "79"
# firefox: "105"
# firefox_android: "105"
# safari: "14.1"
# safari_ios: "14.5"
- api.TextDecoderStream.readable
- api.TextDecoderStream.writable
- api.TextEncoderStream.readable
- api.TextEncoderStream.writable

# baseline: low
# baseline_low_date: 2023-03-27
# support:
# chrome: "98"
# chrome_android: "98"
# edge: "98"
# firefox: "100"
# firefox_android: "100"
# safari: "16.4"
# safari_ios: "16.4"
- api.WritableStreamDefaultController.signal

# baseline: false
# support:
# chrome: "78"
# chrome_android: "78"
# edge: "79"
# firefox: "100"
# firefox_android: "100"
- api.ReadableStreamDefaultReader.ReadableStreamDefaultReader

# baseline: false
# support:
# chrome: "87"
# chrome_android: "87"
# edge: "87"
# firefox: "103"
# firefox_android: "103"
- api.ReadableStream.transferable
- api.TransformStream.transferable
- api.WritableStream.transferable

# ⬇️ Same status as overall feature ⬇️
# baseline: false
# support:
# chrome: "89"
# chrome_android: "89"
# edge: "89"
# firefox: "102"
# firefox_android: "102"
- api.ReadableByteStreamController
- api.ReadableByteStreamController.byobRequest
- api.ReadableByteStreamController.close
- api.ReadableByteStreamController.desiredSize
- api.ReadableByteStreamController.enqueue
- api.ReadableByteStreamController.error
- api.ReadableStreamBYOBReader
- api.ReadableStreamBYOBReader.ReadableStreamBYOBReader
- api.ReadableStreamBYOBReader.cancel
- api.ReadableStreamBYOBReader.closed
- api.ReadableStreamBYOBReader.read
- api.ReadableStreamBYOBReader.releaseLock
- api.ReadableStreamBYOBRequest
- api.ReadableStreamBYOBRequest.respond
- api.ReadableStreamBYOBRequest.respondWithNewView
- api.ReadableStreamBYOBRequest.view

# baseline: false
# support:
# chrome: "124"
# chrome_android: "124"
# edge: "124"
# firefox: "110"
# firefox_android: "110"
- api.ReadableStream.values

# baseline: false
# support:
# firefox: "102"
# firefox_android: "102"
- api.ReadableStreamBYOBReader.releaseLock.reject_pending_read_request
- api.ReadableStreamDefaultReader.releaseLock.reject_pending_read_request

# baseline: false
# support:
# firefox: "117"
# firefox_android: "117"
- api.ReadableStream.from_static

# baseline: false
# support: {}
- api.ReadableStreamBYOBReader.read.options_min_parameter
Loading