jescar-voice
v1.0.4
Published
Componente de voz ultraligero para registro de gastos en React y React Native
Downloads
25
Maintainers
Readme
🎙️ Jescar Voice Library
Librería ultraligera para la extracción de gastos mediante voz, compatible con React y React Native.
📦 Instalación
# Para usar en tu proyecto:
npm install jescar-voice🚀 Uso en React (Web)
El hook useJescarVoice utiliza el Web Speech API nativo.
import { useJescarVoice } from 'jescar-voice';
function MyComponent() {
const { startListening, isListening, result } = useJescarVoice();
return (
<div>
<button onClick={startListening} disabled={isListening}>
{isListening ? 'Escuchando...' : 'Registrar Gasto'}
</button>
{result && result.success && (
<div>
<p>Monto: ${result.monto}</p>
<p>Concepto: {result.concepto}</p>
</div>
)}
</div>
);
}📱 Uso en React Native
En React Native se recomienda usar @react-native-voice/voice. Solo necesitas importar nuestra lógica de extracción:
import { extractExpenseData } from 'jescar-voice';
import Voice from '@react-native-voice/voice';
// Dentro de tu componente listener:
Voice.onSpeechResults = (e) => {
const text = e.value[0];
const resultado = extractExpenseData(text);
console.log("JSON de Gasto:", resultado);
};🛠️ Lógica de Extracción
La librería maneja automáticamente:
- Separadores de miles (ej. "70,000" -> 70000).
- Multiplicadores de palabra (ej. "50 mil" -> 50000).
- Limpieza de palabras de conexión ("pago de", "en", "por").
- Flexibilidad de orden (Monto al inicio o al final).
