UNPKG

imask

Version:

vanilla javascript input mask

35 lines (31 loc) 900 B
import createMask from './factory.js'; import IMask from '../core/holder.js'; import '../core/utils.js'; /** Mask pipe source and destination types */ const PIPE_TYPE = { MASKED: 'value', UNMASKED: 'unmaskedValue', TYPED: 'typedValue' }; /** Creates new pipe function depending on mask type, source and destination options */ function createPipe(arg, from, to) { if (from === void 0) { from = PIPE_TYPE.MASKED; } if (to === void 0) { to = PIPE_TYPE.MASKED; } const masked = createMask(arg); return value => masked.runIsolated(m => { m[from] = value; return m[to]; }); } /** Pipes value through mask depending on mask type, source and destination options */ function pipe(value, mask, from, to) { return createPipe(mask, from, to)(value); } IMask.PIPE_TYPE = PIPE_TYPE; IMask.createPipe = createPipe; IMask.pipe = pipe; export { PIPE_TYPE, createPipe, pipe };