UNPKG

react-native-advanced-input-mask

Version:

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

42 lines (41 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _utils = require("../utils"); var _State = _interopRequireDefault(require("./State")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class OptionalValueState extends _State.default { constructor(child, stateType) { super(child); this.stateType = stateType; } accepts(character) { if (this.stateType) { if ("name" in this.stateType) { return this.stateType.regex.test(character); } return this.stateType.characterSet.includes(character); } return false; } accept = character => this.accepts(character) ? { state: this.nextState(), insert: character, pass: true, value: character } : { state: this.nextState(), insert: null, pass: false, value: null }; toString = () => { var _this$child; const typeStr = (0, _utils.getCharacterTypeString)(this.stateType); return `${typeStr} -> ${((_this$child = this.child) === null || _this$child === void 0 ? void 0 : _this$child.toString()) ?? "null"}`; }; } var _default = exports.default = OptionalValueState; //# sourceMappingURL=OptionalValueState.js.map