vue-the-mask
Version:
Tiny (2KB) and dependency free mask input for Vue.js
16 lines (15 loc) • 484 B
JavaScript
export default function dynamicMask (maskit, masks, tokens) {
masks = masks.sort((a, b) => a.length - b.length)
return function (value, mask, masked = true) {
var i = 0
while (i < masks.length) {
var currentMask = masks[i]
i++
var nextMask = masks[i]
if (! (nextMask && maskit(value, nextMask, true, tokens).length > currentMask.length) ) {
return maskit(value, currentMask, masked, tokens)
}
}
return '' // empty masks
}
}