UNPKG

@ahmed5938/sorani-helper

Version:

TypeScript library for processing Central Kurdish (Sorani) text: Arabic-to-Kurdish conversion, keyboard layout mapping, validation, and input handling.

45 lines (44 loc) 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createKurdishInputHandler = createKurdishInputHandler; exports.createStrictKurdishValidator = createStrictKurdishValidator; exports.createKurdishKeyboardProcessor = createKurdishKeyboardProcessor; const KurdishProcessor_1 = require("./KurdishProcessor"); function createKurdishInputHandler(processor, callback) { return function (event) { const target = event.target; const original = target.value; const processed = processor.process(original); if (processed !== original) { const cursorPos = target.selectionStart || 0; target.value = processed; const newCursorPos = Math.min(cursorPos, processed.length); target.setSelectionRange(newCursorPos, newCursorPos); } callback?.(processed, original); }; } function createStrictKurdishValidator() { return new KurdishProcessor_1.KurdishProcessor({ allowDigits: true, allowPunctuation: true, allowSpaces: true, allowEmojis: false, autoConvertArabic: true, autoConvertEnglishLayout: false, blockOtherScripts: true, strict: true, }); } function createKurdishKeyboardProcessor() { return new KurdishProcessor_1.KurdishProcessor({ allowDigits: true, allowPunctuation: true, allowSpaces: true, allowEmojis: true, autoConvertArabic: true, autoConvertEnglishLayout: true, blockOtherScripts: true, strict: false, }); }