From 99715f5ff0e7b396a412c2944e7e48dd2ca65243 Mon Sep 17 00:00:00 2001 From: Eric King Date: Mon, 16 Jun 2025 07:16:12 -0500 Subject: [PATCH 1/2] fix: reversed `extends` check --- src/types/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/utils.ts b/src/types/utils.ts index e8bf4f1..cfd12b2 100644 --- a/src/types/utils.ts +++ b/src/types/utils.ts @@ -84,7 +84,7 @@ export type RemoveNever = { * Return a list of keys where the property value match the `DataType`. */ export type KeysWhere = Key extends PropertyKey - ? DataType extends Type[Key] + ? Type[Key] extends DataType ? Key : never : never; From c796ac8ea6ccc36f955bd47b71937ce311df0940 Mon Sep 17 00:00:00 2001 From: Eric King Date: Mon, 16 Jun 2025 07:17:57 -0500 Subject: [PATCH 2/2] feat: added types for DOM event names --- src/types/dom-events.ts | 21 +++++++++++++++++++++ src/types/index.ts | 1 + 2 files changed, 22 insertions(+) create mode 100644 src/types/dom-events.ts diff --git a/src/types/dom-events.ts b/src/types/dom-events.ts new file mode 100644 index 0000000..8b505e7 --- /dev/null +++ b/src/types/dom-events.ts @@ -0,0 +1,21 @@ +import type { KeysWhere } from './utils.js'; + +export type AnimationEventName = KeysWhere; +export type ClipboardEventName = KeysWhere; +export type CompositionEventName = KeysWhere; +export type DragEventName = KeysWhere; +export type ErrorEventName = KeysWhere; +export type EventName = KeysWhere; +export type FocusEventName = KeysWhere; +export type FormDataEventName = KeysWhere; +export type InputEventName = KeysWhere; +export type KeyboardEventName = KeysWhere; +export type MouseEventName = KeysWhere; +export type PointerEventName = KeysWhere; +export type ProgressEventName = KeysWhere; +export type SecurityPolicyViolationEventName = KeysWhere; +export type SubmitEventName = KeysWhere; +export type TouchEventName = KeysWhere; +export type TransitionEventName = KeysWhere; +export type UIEventName = KeysWhere; +export type WheelEventName = KeysWhere; diff --git a/src/types/index.ts b/src/types/index.ts index e5a218f..32b8b28 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -2,6 +2,7 @@ export * from './arrays.js'; export * from './branded.js'; export * from './common.js'; export * from './date-time.js'; +export * from './dom-events.js'; export * from './functions.js'; export * from './numbers.js'; export * from './objects.js';