From d80284c6078c269fe7939f73ce62872e0f3fabbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Norte?= Date: Wed, 29 Jan 2025 10:06:08 -0800 Subject: [PATCH] Make some objects read-only in event-related APIs (#49045) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/49045 Changelog: [internal] Making some objects read-only to reflect usage and allow callers to pass both read-only and writable objects. Reviewed By: yungsters Differential Revision: D68831136 fbshipit-source-id: e9a2d96ec0abd13f609d26d376e6da946f802011 --- .../src/private/webapis/dom/events/CustomEvent.js | 4 ++-- .../react-native/src/private/webapis/dom/events/Event.js | 4 ++-- .../src/private/webapis/dom/events/EventTarget.js | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/react-native/src/private/webapis/dom/events/CustomEvent.js b/packages/react-native/src/private/webapis/dom/events/CustomEvent.js index 25d046b2709..9e535563ced 100644 --- a/packages/react-native/src/private/webapis/dom/events/CustomEvent.js +++ b/packages/react-native/src/private/webapis/dom/events/CustomEvent.js @@ -19,10 +19,10 @@ import type {EventInit} from './Event'; import Event from './Event'; -export type CustomEventInit = { +export type CustomEventInit = $ReadOnly<{ ...EventInit, detail?: mixed, -}; +}>; export default class CustomEvent extends Event { _detail: mixed; diff --git a/packages/react-native/src/private/webapis/dom/events/Event.js b/packages/react-native/src/private/webapis/dom/events/Event.js index 10ccd67061e..79853f509f5 100644 --- a/packages/react-native/src/private/webapis/dom/events/Event.js +++ b/packages/react-native/src/private/webapis/dom/events/Event.js @@ -36,11 +36,11 @@ import { setStopPropagationFlag, } from './internals/EventInternals'; -export type EventInit = { +export type EventInit = $ReadOnly<{ bubbles?: boolean, cancelable?: boolean, composed?: boolean, -}; +}>; export default class Event { static +NONE: 0; diff --git a/packages/react-native/src/private/webapis/dom/events/EventTarget.js b/packages/react-native/src/private/webapis/dom/events/EventTarget.js index 9697800ac35..5e70029d046 100644 --- a/packages/react-native/src/private/webapis/dom/events/EventTarget.js +++ b/packages/react-native/src/private/webapis/dom/events/EventTarget.js @@ -39,16 +39,16 @@ export type EventHandler = interface { }; export type EventListener = EventCallback | EventHandler; -export type EventListenerOptions = { +export type EventListenerOptions = $ReadOnly<{ capture?: boolean, -}; +}>; -export type AddEventListenerOptions = { +export type AddEventListenerOptions = $ReadOnly<{ ...EventListenerOptions, passive?: boolean, once?: boolean, signal?: AbortSignal, -}; +}>; type EventListenerRegistration = { +callback: EventListener,