UNPKG

react-native-advanced-input-mask

Version:

Text input mask for React Native on iOS, Android and web. Synchronous and easy formatting without hustle

35 lines (34 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _types = require("../model/types"); class CaretStringIterator { constructor(caretString, currentIndex = 0) { this.caretString = caretString; this.currentIndex = currentIndex; } insertionAffectsCaret() { const { caretGravity, caretPosition } = this.caretString; const isBackwardGravity = caretGravity.type === _types.CaretGravityType.Backward; return isBackwardGravity ? this.currentIndex <= caretPosition : this.currentIndex < caretPosition; } deletionAffectsCaret = () => this.currentIndex < this.caretString.caretPosition; next() { const { string } = this.caretString; if (this.currentIndex >= string.length) { return null; } const char = string.charAt(this.currentIndex); this.currentIndex += 1; return char; } } var _default = exports.default = CaretStringIterator; //# sourceMappingURL=CaretStringIterator.js.map