@@ -0,0 +1,29 @@
|
||||
import { requireNativeModule, type EventSubscription } from "expo-modules-core";
|
||||
|
||||
type HardwareKeyboardSubmitHandler = () => void;
|
||||
|
||||
interface PaseoHardwareKeyboardModule {
|
||||
setHardwareKeyboardSubmitEnabled(enabled: boolean): void;
|
||||
addListener(
|
||||
eventName: "onHardwareKeyboardSubmit",
|
||||
handler: HardwareKeyboardSubmitHandler,
|
||||
): EventSubscription;
|
||||
}
|
||||
|
||||
const module = requireNativeModule<PaseoHardwareKeyboardModule>("PaseoHardwareKeyboard");
|
||||
|
||||
export function setHardwareKeyboardSubmitEnabled(enabled: boolean) {
|
||||
module.setHardwareKeyboardSubmitEnabled(enabled);
|
||||
}
|
||||
|
||||
export function addHardwareKeyboardSubmitListener(handler: HardwareKeyboardSubmitHandler) {
|
||||
return module.addListener("onHardwareKeyboardSubmit", handler);
|
||||
}
|
||||
|
||||
export function emitHardwareKeyboardSubmitForTest() {}
|
||||
|
||||
export function resetHardwareKeyboardSubmitForTest() {}
|
||||
|
||||
export function getHardwareKeyboardSubmitEnabledForTest() {
|
||||
return false;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
import type { EventSubscription } from "expo-modules-core";
|
||||
|
||||
type HardwareKeyboardSubmitHandler = () => void;
|
||||
|
||||
const testHandlers = new Set<HardwareKeyboardSubmitHandler>();
|
||||
let isEnabledForTest = false;
|
||||
|
||||
export function setHardwareKeyboardSubmitEnabled(enabled: boolean) {
|
||||
isEnabledForTest = enabled;
|
||||
}
|
||||
|
||||
export function addHardwareKeyboardSubmitListener(
|
||||
handler: HardwareKeyboardSubmitHandler,
|
||||
): EventSubscription {
|
||||
testHandlers.add(handler);
|
||||
return {
|
||||
remove: () => {
|
||||
testHandlers.delete(handler);
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export function emitHardwareKeyboardSubmitForTest() {
|
||||
testHandlers.forEach((handler) => handler());
|
||||
}
|
||||
|
||||
export function resetHardwareKeyboardSubmitForTest() {
|
||||
testHandlers.clear();
|
||||
isEnabledForTest = false;
|
||||
}
|
||||
|
||||
export function getHardwareKeyboardSubmitEnabledForTest() {
|
||||
return isEnabledForTest;
|
||||
}
|
||||
Reference in New Issue
Block a user