Skip to content

Commit

Permalink
.fromEventListener bufferSize
Browse files Browse the repository at this point in the history
  • Loading branch information
tim-smart committed Jul 18, 2024
1 parent 9266c7a commit f464e69
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 6 deletions.
6 changes: 6 additions & 0 deletions .changeset/beige-rules-argue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"effect": patch
"@effect/platform-browser": patch
---

use "unbounded" buffer for Stream.fromEventListener
5 changes: 5 additions & 0 deletions .changeset/tricky-cheetahs-help.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": minor
---

add `bufferSize` option to Stream.fromEventListener
1 change: 1 addition & 0 deletions packages/effect/src/Stream.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5963,5 +5963,6 @@ export const fromEventListener: <A = unknown>(
readonly capture?: boolean
readonly passive?: boolean
readonly once?: boolean
readonly bufferSize?: number | "unbounded" | undefined
} | undefined
) => Stream<A> = internal.fromEventListener
18 changes: 14 additions & 4 deletions packages/platform-browser/src/BrowserStream.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,24 @@ import * as internal from "./internal/stream.js"
*/
export const fromEventListenerWindow: <K extends keyof WindowEventMap>(
type: K,
options?: boolean | Omit<AddEventListenerOptions, "signal">
) => Stream.Stream<WindowEventMap[K]> = internal.fromEventListenerWindow
options?: boolean | {
readonly capture?: boolean
readonly passive?: boolean
readonly once?: boolean
readonly bufferSize?: number | "unbounded" | undefined
} | undefined
) => Stream.Stream<WindowEventMap[K], never, never> = internal.fromEventListenerWindow

/**
* Creates a `Stream` from document.addEventListener.
* @since 1.0.0
*/
export const fromEventListenerDocument: <K extends keyof DocumentEventMap>(
type: K,
options?: boolean | Omit<AddEventListenerOptions, "signal">
) => Stream.Stream<DocumentEventMap[K]> = internal.fromEventListenerDocument
options?: boolean | {
readonly capture?: boolean
readonly passive?: boolean
readonly once?: boolean
readonly bufferSize?: number | "unbounded" | undefined
} | undefined
) => Stream.Stream<DocumentEventMap[K], never, never> = internal.fromEventListenerDocument
14 changes: 12 additions & 2 deletions packages/platform-browser/src/internal/stream.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,21 @@ import * as Stream from "effect/Stream"
/** @internal */
export const fromEventListenerWindow = <K extends keyof WindowEventMap>(
type: K,
options?: boolean | Omit<AddEventListenerOptions, "signal">
options?: boolean | {
readonly capture?: boolean
readonly passive?: boolean
readonly once?: boolean
readonly bufferSize?: number | "unbounded" | undefined
} | undefined
) => Stream.fromEventListener<WindowEventMap[K]>(window, type, options)

/** @internal */
export const fromEventListenerDocument = <K extends keyof DocumentEventMap>(
type: K,
options?: boolean | Omit<AddEventListenerOptions, "signal">
options?: boolean | {
readonly capture?: boolean
readonly passive?: boolean
readonly once?: boolean
readonly bufferSize?: number | "unbounded" | undefined
} | undefined
) => Stream.fromEventListener<DocumentEventMap[K]>(document, type, options)

0 comments on commit f464e69

Please sign in to comment.