UNPKG

react-jam-ui

Version:

React JAM UI components

41 lines (31 loc) 1.28 kB
import {placeholderChar as defaultPlaceholderChar} from './constants' const emptyArray = [] export function convertMaskToPlaceholder(mask = emptyArray, placeholderChar = defaultPlaceholderChar) { if (mask.indexOf(placeholderChar) !== -1) { throw new Error( 'Placeholder character must not be used as part of the mask. Please specify a character ' + 'that is not present in your mask as your placeholder character.\n\n' + `The placeholder character that was received is: ${JSON.stringify(placeholderChar)}\n\n` + `The mask that was received is: ${JSON.stringify(mask)}` ) } return mask.map((char) => { return (char instanceof RegExp) ? placeholderChar : char }).join('') } export function isString(value) { return typeof value === 'string' || value instanceof String } export function isNumber(value) { return typeof value === 'number' && value.length === undefined && !isNaN(value) } const strCaretTrap = '[]' export function processCaretTraps(mask) { const indexes = [] let indexOfCaretTrap while(indexOfCaretTrap = mask.indexOf(strCaretTrap), indexOfCaretTrap !== -1) { // eslint-disable-line indexes.push(indexOfCaretTrap) mask.splice(indexOfCaretTrap, 1) } return {maskWithoutCaretTraps: mask, indexes} }