@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
JavaScript
"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,
});
}