Socket
Socket
Sign inDemoInstall

text-mask-addons

Package Overview
Dependencies
0
Maintainers
2
Versions
29
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.1.0 to 3.0.0

2

dist/createNumberMask.js

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.createNumberMask=t():e.createNumberMask=t()}(this,function(){return function(e){function t(n){if(o[n])return o[n].exports;var r=o[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t){"use strict";function o(){function e(e){var t=e.length;if(e===u||e[0]===y[0]&&1===t)return y.split(u).concat([m]).concat(h.split(u));var o=e.lastIndexOf(D),c=o!==-1,a=e[0]===d&&I,l=void 0,b=void 0,x=void 0;return c&&(N||q)?(l=e.slice(0,o),b=e.slice(o+1,t),b=n(b.replace(p,u))):l=e,l=l.replace(p,u),l=S?r(l,j):l,x=n(l),(c&&N||q===!0)&&(e[o-1]!==D&&x.push(v),x.push(D,v),b&&(("undefined"==typeof w?"undefined":i(w))===s&&(b=b.slice(0,w)),x=x.concat(b)),q===!0&&e[o-1]===D&&x.push(m)),L>0&&(x=y.split(u).concat(x)),a&&(x.length===L&&x.push(m),x=[f].concat(x)),h.length>0&&(x=x.concat(h.split(u))),x}var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=t.prefix,y=void 0===o?c:o,b=t.suffix,h=void 0===b?u:b,x=t.includeThousandsSeparator,S=void 0===x||x,g=t.thousandsSeparatorSymbol,j=void 0===g?a:g,M=t.allowDecimal,N=void 0!==M&&M,k=t.decimalSymbol,D=void 0===k?l:k,O=t.decimalLimit,w=void 0===O?2:O,_=t.requireDecimal,q=void 0!==_&&_,B=t.allowNegative,I=void 0!==B&&B,L=y.length;return e.instanceOf="createNumberMask",e}function n(e){return e.split(u).map(function(e){return m.test(e)?m:e})}function r(e,t){return e.replace(/\B(?=(\d{3})+(?!\d))/g,t)}Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=o;var c="$",u="",a=",",l=".",d="-",f=/-/,p=/\D+/g,s="number",m=/\d/,v="[]"}])});
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.createNumberMask=t():e.createNumberMask=t()}(this,function(){return function(e){function t(n){if(o[n])return o[n].exports;var i=o[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t){"use strict";function o(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u,t=e.length;if(e===u||e[0]===y[0]&&1===t)return y.split(u).concat([m]).concat(h.split(u));var o=e.lastIndexOf(D),c=o!==-1,l=e[0]===a&&B,d=void 0,b=void 0,x=void 0;return c&&(N||_)?(d=e.slice(e.slice(0,T)===y?T:0,o),b=e.slice(o+1,t),b=n(b.replace(f,u))):d=e.slice(0,T)===y?e.slice(T):e,P&&("undefined"==typeof P?"undefined":r(P))===p&&(d=d.slice(0,P)),d=d.replace(f,u),d=g?i(d,j):d,x=n(d),(c&&N||_===!0)&&(e[o-1]!==D&&x.push(v),x.push(D,v),b&&(("undefined"==typeof w?"undefined":r(w))===p&&(b=b.slice(0,w)),x=x.concat(b)),_===!0&&e[o-1]===D&&x.push(m)),T>0&&(x=y.split(u).concat(x)),l&&(x.length===T&&x.push(m),x=[s].concat(x)),h.length>0&&(x=x.concat(h.split(u))),x}var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=t.prefix,y=void 0===o?c:o,b=t.suffix,h=void 0===b?u:b,x=t.includeThousandsSeparator,g=void 0===x||x,S=t.thousandsSeparatorSymbol,j=void 0===S?l:S,M=t.allowDecimal,N=void 0!==M&&M,k=t.decimalSymbol,D=void 0===k?d:k,O=t.decimalLimit,w=void 0===O?2:O,L=t.requireDecimal,_=void 0!==L&&L,q=t.allowNegative,B=void 0!==q&&q,I=t.integerLimit,P=void 0===I?null:I,T=y.length;return e.instanceOf="createNumberMask",e}function n(e){return e.split(u).map(function(e){return m.test(e)?m:e})}function i(e,t){return e.replace(/\B(?=(\d{3})+(?!\d))/g,t)}Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=o;var c="$",u="",l=",",d=".",a="-",s=/-/,f=/\D+/g,p="number",m=/\d/,v="[]"}])});

@@ -1,1 +0,1 @@

{"errors":[],"warnings":[],"version":"1.14.0","hash":"86e9cf0f93099bd741a3","publicPath":"","assetsByChunkName":{"emailMask":"emailMask.js","createNumberMask":"createNumberMask.js","createAutoCorrectedDatePipe":"createAutoCorrectedDatePipe.js"},"assets":[{"name":"emailMask.js","size":2137,"chunks":[0],"chunkNames":["emailMask"],"emitted":true},{"name":"createNumberMask.js","size":1958,"chunks":[1],"chunkNames":["createNumberMask"],"emitted":true},{"name":"createAutoCorrectedDatePipe.js","size":1081,"chunks":[2],"chunkNames":["createAutoCorrectedDatePipe"],"emitted":true},{"name":"stats.json","size":0,"chunks":[],"chunkNames":[]}],"chunks":[{"id":0,"rendered":true,"initial":true,"entry":true,"extraAsync":false,"size":5419,"names":["emailMask"],"files":["emailMask.js"],"hash":"a90ddd790d11faf5e2f4","parents":[],"modules":[{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","name":"./addons/src/emailMask.js","index":2,"index2":3,"size":3848,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _emailPipe = require('./emailPipe');\n\nvar _emailPipe2 = _interopRequireDefault(_emailPipe);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar asterisk = '*';\nvar dot = '.';\nvar emptyString = '';\nvar atSymbol = '@';\nvar caretTrap = '[]';\nvar space = ' ';\nvar g = 'g';\nvar anyNonWhitespaceRegExp = /[^\\s]/;\nvar anyNonDotOrWhitespaceRegExp = /[^.\\s]/;\nvar allWhitespaceRegExp = /\\s/g;\n\nfunction emailMask(rawValue, config) {\n rawValue = rawValue.replace(allWhitespaceRegExp, emptyString);\n\n var placeholderChar = config.placeholderChar,\n currentCaretPosition = config.currentCaretPosition;\n\n var indexOfFirstAtSymbol = rawValue.indexOf(atSymbol);\n var indexOfLastDot = rawValue.lastIndexOf(dot);\n var indexOfTopLevelDomainDot = indexOfLastDot < indexOfFirstAtSymbol ? -1 : indexOfLastDot;\n\n var localPartToDomainConnector = getConnector(rawValue, indexOfFirstAtSymbol + 1, atSymbol);\n var domainNameToTopLevelDomainConnector = getConnector(rawValue, indexOfTopLevelDomainDot - 1, dot);\n\n var localPart = getLocalPart(rawValue, indexOfFirstAtSymbol, placeholderChar);\n var domainName = getDomainName(rawValue, indexOfFirstAtSymbol, indexOfTopLevelDomainDot, placeholderChar);\n var topLevelDomain = getTopLevelDomain(rawValue, indexOfTopLevelDomainDot, placeholderChar, currentCaretPosition);\n\n localPart = convertToMask(localPart);\n domainName = convertToMask(domainName);\n topLevelDomain = convertToMask(topLevelDomain, true);\n\n var mask = localPart.concat(localPartToDomainConnector).concat(domainName).concat(domainNameToTopLevelDomainConnector).concat(topLevelDomain);\n\n return mask;\n}\n\nfunction getConnector(rawValue, indexOfConnection, connectionSymbol) {\n var connector = [];\n\n if (rawValue[indexOfConnection] === connectionSymbol) {\n connector.push(connectionSymbol);\n } else {\n connector.push(caretTrap, connectionSymbol);\n }\n\n connector.push(caretTrap);\n\n return connector;\n}\n\nfunction getLocalPart(rawValue, indexOfFirstAtSymbol) {\n if (indexOfFirstAtSymbol === -1) {\n return rawValue;\n } else {\n return rawValue.slice(0, indexOfFirstAtSymbol);\n }\n}\n\nfunction getDomainName(rawValue, indexOfFirstAtSymbol, indexOfTopLevelDomainDot, placeholderChar) {\n var domainName = emptyString;\n\n if (indexOfFirstAtSymbol !== -1) {\n if (indexOfTopLevelDomainDot === -1) {\n domainName = rawValue.slice(indexOfFirstAtSymbol + 1, rawValue.length);\n } else {\n domainName = rawValue.slice(indexOfFirstAtSymbol + 1, indexOfTopLevelDomainDot);\n }\n }\n\n domainName = domainName.replace(new RegExp('[\\\\s' + placeholderChar + ']', g), emptyString);\n\n if (domainName === atSymbol) {\n return asterisk;\n } else if (domainName.length < 1) {\n return space;\n } else if (domainName[domainName.length - 1] === dot) {\n return domainName.slice(0, domainName.length - 1);\n } else {\n return domainName;\n }\n}\n\nfunction getTopLevelDomain(rawValue, indexOfTopLevelDomainDot, placeholderChar, currentCaretPosition) {\n var topLevelDomain = emptyString;\n\n if (indexOfTopLevelDomainDot !== -1) {\n topLevelDomain = rawValue.slice(indexOfTopLevelDomainDot + 1, rawValue.length);\n }\n\n topLevelDomain = topLevelDomain.replace(new RegExp('[\\\\s' + placeholderChar + '.]', g), emptyString);\n\n if (topLevelDomain.length === 0) {\n return rawValue[indexOfTopLevelDomainDot - 1] === dot && currentCaretPosition !== rawValue.length ? asterisk : emptyString;\n } else {\n return topLevelDomain;\n }\n}\n\nfunction convertToMask(str, noDots) {\n return str.split(emptyString).map(function (char) {\n return char === space ? char : noDots ? anyNonDotOrWhitespaceRegExp : anyNonWhitespaceRegExp;\n });\n}\n\nexports.default = { mask: emailMask, pipe: _emailPipe2.default };"},{"id":1,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailPipe.js","name":"./addons/src/emailPipe.js","index":3,"index2":2,"size":1571,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","module":"./addons/src/emailMask.js","moduleName":"./addons/src/emailMask.js","type":"cjs require","userRequest":"./emailPipe","loc":"7:17-39"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = emailPipe;\nvar atSymbol = '@';\nvar allAtSymbolsRegExp = /@/g;\nvar emptyString = '';\nvar atDot = '@.';\nvar dot = '.';\nvar dotDot = '..';\nvar emptyArray = [];\nvar allDotsRegExp = /\\./g;\n\nfunction emailPipe(conformedValue, config) {\n var currentCaretPosition = config.currentCaretPosition,\n rawValue = config.rawValue,\n previousConformedValue = config.previousConformedValue,\n placeholderChar = config.placeholderChar;\n\n\n var value = conformedValue;\n\n value = removeAllAtSymbolsButFirst(value);\n\n var indexOfAtDot = value.indexOf(atDot);\n\n var emptyEmail = rawValue.match(new RegExp('[^@\\\\s.' + placeholderChar + ']')) === null;\n\n if (emptyEmail) {\n return emptyString;\n }\n\n if (value.indexOf(dotDot) !== -1 || indexOfAtDot !== -1 && currentCaretPosition !== indexOfAtDot + 1 || rawValue.indexOf(atSymbol) === -1 && previousConformedValue !== emptyString && rawValue.indexOf(dot) !== -1) {\n return false;\n }\n\n var indexOfAtSymbol = value.indexOf(atSymbol);\n var domainPart = value.slice(indexOfAtSymbol + 1, value.length);\n\n if ((domainPart.match(allDotsRegExp) || emptyArray).length > 1 && value.substr(-1) === dot && currentCaretPosition !== rawValue.length) {\n value = value.slice(0, value.length - 1);\n }\n\n return value;\n}\n\nfunction removeAllAtSymbolsButFirst(str) {\n var atSymbolCount = 0;\n\n return str.replace(allAtSymbolsRegExp, function () {\n atSymbolCount++;\n\n return atSymbolCount === 1 ? atSymbol : emptyString;\n });\n}"}],"filteredModules":0,"origins":[{"moduleId":0,"module":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","moduleName":"./addons/src/emailMask.js","loc":"","name":"emailMask","reasons":[]}]},{"id":1,"rendered":true,"initial":true,"entry":true,"extraAsync":false,"size":4442,"names":["createNumberMask"],"files":["createNumberMask.js"],"hash":"be8a8461bfb6c18cfcb5","parents":[],"modules":[{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createNumberMask.js","name":"./addons/src/createNumberMask.js","index":1,"index2":1,"size":4442,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[1],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = createNumberMask;\nvar dollarSign = '$';\nvar emptyString = '';\nvar comma = ',';\nvar period = '.';\nvar minus = '-';\nvar minusRegExp = /-/;\nvar nonDigitsRegExp = /\\D+/g;\nvar number = 'number';\nvar digitRegExp = /\\d/;\nvar caretTrap = '[]';\n\nfunction createNumberMask() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$prefix = _ref.prefix,\n prefix = _ref$prefix === undefined ? dollarSign : _ref$prefix,\n _ref$suffix = _ref.suffix,\n suffix = _ref$suffix === undefined ? emptyString : _ref$suffix,\n _ref$includeThousands = _ref.includeThousandsSeparator,\n includeThousandsSeparator = _ref$includeThousands === undefined ? true : _ref$includeThousands,\n _ref$thousandsSeparat = _ref.thousandsSeparatorSymbol,\n thousandsSeparatorSymbol = _ref$thousandsSeparat === undefined ? comma : _ref$thousandsSeparat,\n _ref$allowDecimal = _ref.allowDecimal,\n allowDecimal = _ref$allowDecimal === undefined ? false : _ref$allowDecimal,\n _ref$decimalSymbol = _ref.decimalSymbol,\n decimalSymbol = _ref$decimalSymbol === undefined ? period : _ref$decimalSymbol,\n _ref$decimalLimit = _ref.decimalLimit,\n decimalLimit = _ref$decimalLimit === undefined ? 2 : _ref$decimalLimit,\n _ref$requireDecimal = _ref.requireDecimal,\n requireDecimal = _ref$requireDecimal === undefined ? false : _ref$requireDecimal,\n _ref$allowNegative = _ref.allowNegative,\n allowNegative = _ref$allowNegative === undefined ? false : _ref$allowNegative;\n\n var prefixLength = prefix.length;\n\n function numberMask(rawValue) {\n var rawValueLength = rawValue.length;\n\n if (rawValue === emptyString || rawValue[0] === prefix[0] && rawValueLength === 1) {\n return prefix.split(emptyString).concat([digitRegExp]).concat(suffix.split(emptyString));\n }\n\n var indexOfLastDecimal = rawValue.lastIndexOf(decimalSymbol);\n var hasDecimal = indexOfLastDecimal !== -1;\n var isNegative = rawValue[0] === minus && allowNegative;\n\n var integer = void 0;\n var fraction = void 0;\n var mask = void 0;\n\n if (hasDecimal && (allowDecimal || requireDecimal)) {\n integer = rawValue.slice(0, indexOfLastDecimal);\n\n fraction = rawValue.slice(indexOfLastDecimal + 1, rawValueLength);\n fraction = convertToMask(fraction.replace(nonDigitsRegExp, emptyString));\n } else {\n integer = rawValue;\n }\n\n integer = integer.replace(nonDigitsRegExp, emptyString);\n\n integer = includeThousandsSeparator ? addThousandsSeparator(integer, thousandsSeparatorSymbol) : integer;\n\n mask = convertToMask(integer);\n\n if (hasDecimal && allowDecimal || requireDecimal === true) {\n if (rawValue[indexOfLastDecimal - 1] !== decimalSymbol) {\n mask.push(caretTrap);\n }\n\n mask.push(decimalSymbol, caretTrap);\n\n if (fraction) {\n if ((typeof decimalLimit === 'undefined' ? 'undefined' : _typeof(decimalLimit)) === number) {\n fraction = fraction.slice(0, decimalLimit);\n }\n\n mask = mask.concat(fraction);\n }\n\n if (requireDecimal === true && rawValue[indexOfLastDecimal - 1] === decimalSymbol) {\n mask.push(digitRegExp);\n }\n }\n\n if (prefixLength > 0) {\n mask = prefix.split(emptyString).concat(mask);\n }\n\n if (isNegative) {\n // If user is entering a negative number, add a mask placeholder spot to attract the caret to it.\n if (mask.length === prefixLength) {\n mask.push(digitRegExp);\n }\n\n mask = [minusRegExp].concat(mask);\n }\n\n if (suffix.length > 0) {\n mask = mask.concat(suffix.split(emptyString));\n }\n\n return mask;\n }\n\n numberMask.instanceOf = 'createNumberMask';\n\n return numberMask;\n}\n\nfunction convertToMask(strNumber) {\n return strNumber.split(emptyString).map(function (char) {\n return digitRegExp.test(char) ? digitRegExp : char;\n });\n}\n\n// http://stackoverflow.com/a/10899795/604296\nfunction addThousandsSeparator(n, thousandsSeparatorSymbol) {\n return n.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparatorSymbol);\n}"}],"filteredModules":0,"origins":[{"moduleId":0,"module":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createNumberMask.js","moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createNumberMask.js","moduleName":"./addons/src/createNumberMask.js","loc":"","name":"createNumberMask","reasons":[]}]},{"id":2,"rendered":true,"initial":true,"entry":true,"extraAsync":false,"size":1578,"names":["createAutoCorrectedDatePipe"],"files":["createAutoCorrectedDatePipe.js"],"hash":"1f35bdd5e10fa6997493","parents":[],"modules":[{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createAutoCorrectedDatePipe.js","name":"./addons/src/createAutoCorrectedDatePipe.js","index":0,"index2":0,"size":1578,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[2],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createAutoCorrectedDatePipe;\nfunction createAutoCorrectedDatePipe() {\n var dateFormat = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'mm dd yyyy';\n\n return function (conformedValue) {\n var indexesOfPipedChars = [];\n var dateFormatArray = dateFormat.split(/[^dmy]+/);\n var maxValue = { 'dd': 31, 'mm': 12, 'yyyy': 9999 };\n var minValue = { 'dd': 1, 'mm': 1, 'yyyy': 1 };\n var conformedValueArr = conformedValue.split('');\n\n // Check first digit\n dateFormatArray.forEach(function (format) {\n var position = dateFormat.indexOf(format);\n var maxFirstDigit = parseInt(maxValue[format].toString().substr(0, 1), 10);\n\n if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {\n conformedValueArr[position + 1] = conformedValueArr[position];\n conformedValueArr[position] = 0;\n indexesOfPipedChars.push(position);\n }\n });\n\n // Check for invalid date\n var isInvalid = dateFormatArray.some(function (format) {\n var position = dateFormat.indexOf(format);\n var length = format.length;\n var textValue = conformedValue.substr(position, length).replace(/\\D/g, '');\n var value = parseInt(textValue, 10);\n\n return value > maxValue[format] || textValue.length === length && value < minValue[format];\n });\n\n if (isInvalid) {\n return false;\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars: indexesOfPipedChars\n };\n };\n}"}],"filteredModules":0,"origins":[{"moduleId":0,"module":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createAutoCorrectedDatePipe.js","moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createAutoCorrectedDatePipe.js","moduleName":"./addons/src/createAutoCorrectedDatePipe.js","loc":"","name":"createAutoCorrectedDatePipe","reasons":[]}]}],"modules":[{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createAutoCorrectedDatePipe.js","name":"./addons/src/createAutoCorrectedDatePipe.js","index":0,"index2":0,"size":1578,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[2],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createAutoCorrectedDatePipe;\nfunction createAutoCorrectedDatePipe() {\n var dateFormat = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'mm dd yyyy';\n\n return function (conformedValue) {\n var indexesOfPipedChars = [];\n var dateFormatArray = dateFormat.split(/[^dmy]+/);\n var maxValue = { 'dd': 31, 'mm': 12, 'yyyy': 9999 };\n var minValue = { 'dd': 1, 'mm': 1, 'yyyy': 1 };\n var conformedValueArr = conformedValue.split('');\n\n // Check first digit\n dateFormatArray.forEach(function (format) {\n var position = dateFormat.indexOf(format);\n var maxFirstDigit = parseInt(maxValue[format].toString().substr(0, 1), 10);\n\n if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {\n conformedValueArr[position + 1] = conformedValueArr[position];\n conformedValueArr[position] = 0;\n indexesOfPipedChars.push(position);\n }\n });\n\n // Check for invalid date\n var isInvalid = dateFormatArray.some(function (format) {\n var position = dateFormat.indexOf(format);\n var length = format.length;\n var textValue = conformedValue.substr(position, length).replace(/\\D/g, '');\n var value = parseInt(textValue, 10);\n\n return value > maxValue[format] || textValue.length === length && value < minValue[format];\n });\n\n if (isInvalid) {\n return false;\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars: indexesOfPipedChars\n };\n };\n}"},{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createNumberMask.js","name":"./addons/src/createNumberMask.js","index":1,"index2":1,"size":4442,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[1],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = createNumberMask;\nvar dollarSign = '$';\nvar emptyString = '';\nvar comma = ',';\nvar period = '.';\nvar minus = '-';\nvar minusRegExp = /-/;\nvar nonDigitsRegExp = /\\D+/g;\nvar number = 'number';\nvar digitRegExp = /\\d/;\nvar caretTrap = '[]';\n\nfunction createNumberMask() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$prefix = _ref.prefix,\n prefix = _ref$prefix === undefined ? dollarSign : _ref$prefix,\n _ref$suffix = _ref.suffix,\n suffix = _ref$suffix === undefined ? emptyString : _ref$suffix,\n _ref$includeThousands = _ref.includeThousandsSeparator,\n includeThousandsSeparator = _ref$includeThousands === undefined ? true : _ref$includeThousands,\n _ref$thousandsSeparat = _ref.thousandsSeparatorSymbol,\n thousandsSeparatorSymbol = _ref$thousandsSeparat === undefined ? comma : _ref$thousandsSeparat,\n _ref$allowDecimal = _ref.allowDecimal,\n allowDecimal = _ref$allowDecimal === undefined ? false : _ref$allowDecimal,\n _ref$decimalSymbol = _ref.decimalSymbol,\n decimalSymbol = _ref$decimalSymbol === undefined ? period : _ref$decimalSymbol,\n _ref$decimalLimit = _ref.decimalLimit,\n decimalLimit = _ref$decimalLimit === undefined ? 2 : _ref$decimalLimit,\n _ref$requireDecimal = _ref.requireDecimal,\n requireDecimal = _ref$requireDecimal === undefined ? false : _ref$requireDecimal,\n _ref$allowNegative = _ref.allowNegative,\n allowNegative = _ref$allowNegative === undefined ? false : _ref$allowNegative;\n\n var prefixLength = prefix.length;\n\n function numberMask(rawValue) {\n var rawValueLength = rawValue.length;\n\n if (rawValue === emptyString || rawValue[0] === prefix[0] && rawValueLength === 1) {\n return prefix.split(emptyString).concat([digitRegExp]).concat(suffix.split(emptyString));\n }\n\n var indexOfLastDecimal = rawValue.lastIndexOf(decimalSymbol);\n var hasDecimal = indexOfLastDecimal !== -1;\n var isNegative = rawValue[0] === minus && allowNegative;\n\n var integer = void 0;\n var fraction = void 0;\n var mask = void 0;\n\n if (hasDecimal && (allowDecimal || requireDecimal)) {\n integer = rawValue.slice(0, indexOfLastDecimal);\n\n fraction = rawValue.slice(indexOfLastDecimal + 1, rawValueLength);\n fraction = convertToMask(fraction.replace(nonDigitsRegExp, emptyString));\n } else {\n integer = rawValue;\n }\n\n integer = integer.replace(nonDigitsRegExp, emptyString);\n\n integer = includeThousandsSeparator ? addThousandsSeparator(integer, thousandsSeparatorSymbol) : integer;\n\n mask = convertToMask(integer);\n\n if (hasDecimal && allowDecimal || requireDecimal === true) {\n if (rawValue[indexOfLastDecimal - 1] !== decimalSymbol) {\n mask.push(caretTrap);\n }\n\n mask.push(decimalSymbol, caretTrap);\n\n if (fraction) {\n if ((typeof decimalLimit === 'undefined' ? 'undefined' : _typeof(decimalLimit)) === number) {\n fraction = fraction.slice(0, decimalLimit);\n }\n\n mask = mask.concat(fraction);\n }\n\n if (requireDecimal === true && rawValue[indexOfLastDecimal - 1] === decimalSymbol) {\n mask.push(digitRegExp);\n }\n }\n\n if (prefixLength > 0) {\n mask = prefix.split(emptyString).concat(mask);\n }\n\n if (isNegative) {\n // If user is entering a negative number, add a mask placeholder spot to attract the caret to it.\n if (mask.length === prefixLength) {\n mask.push(digitRegExp);\n }\n\n mask = [minusRegExp].concat(mask);\n }\n\n if (suffix.length > 0) {\n mask = mask.concat(suffix.split(emptyString));\n }\n\n return mask;\n }\n\n numberMask.instanceOf = 'createNumberMask';\n\n return numberMask;\n}\n\nfunction convertToMask(strNumber) {\n return strNumber.split(emptyString).map(function (char) {\n return digitRegExp.test(char) ? digitRegExp : char;\n });\n}\n\n// http://stackoverflow.com/a/10899795/604296\nfunction addThousandsSeparator(n, thousandsSeparatorSymbol) {\n return n.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparatorSymbol);\n}"},{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","name":"./addons/src/emailMask.js","index":2,"index2":3,"size":3848,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _emailPipe = require('./emailPipe');\n\nvar _emailPipe2 = _interopRequireDefault(_emailPipe);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar asterisk = '*';\nvar dot = '.';\nvar emptyString = '';\nvar atSymbol = '@';\nvar caretTrap = '[]';\nvar space = ' ';\nvar g = 'g';\nvar anyNonWhitespaceRegExp = /[^\\s]/;\nvar anyNonDotOrWhitespaceRegExp = /[^.\\s]/;\nvar allWhitespaceRegExp = /\\s/g;\n\nfunction emailMask(rawValue, config) {\n rawValue = rawValue.replace(allWhitespaceRegExp, emptyString);\n\n var placeholderChar = config.placeholderChar,\n currentCaretPosition = config.currentCaretPosition;\n\n var indexOfFirstAtSymbol = rawValue.indexOf(atSymbol);\n var indexOfLastDot = rawValue.lastIndexOf(dot);\n var indexOfTopLevelDomainDot = indexOfLastDot < indexOfFirstAtSymbol ? -1 : indexOfLastDot;\n\n var localPartToDomainConnector = getConnector(rawValue, indexOfFirstAtSymbol + 1, atSymbol);\n var domainNameToTopLevelDomainConnector = getConnector(rawValue, indexOfTopLevelDomainDot - 1, dot);\n\n var localPart = getLocalPart(rawValue, indexOfFirstAtSymbol, placeholderChar);\n var domainName = getDomainName(rawValue, indexOfFirstAtSymbol, indexOfTopLevelDomainDot, placeholderChar);\n var topLevelDomain = getTopLevelDomain(rawValue, indexOfTopLevelDomainDot, placeholderChar, currentCaretPosition);\n\n localPart = convertToMask(localPart);\n domainName = convertToMask(domainName);\n topLevelDomain = convertToMask(topLevelDomain, true);\n\n var mask = localPart.concat(localPartToDomainConnector).concat(domainName).concat(domainNameToTopLevelDomainConnector).concat(topLevelDomain);\n\n return mask;\n}\n\nfunction getConnector(rawValue, indexOfConnection, connectionSymbol) {\n var connector = [];\n\n if (rawValue[indexOfConnection] === connectionSymbol) {\n connector.push(connectionSymbol);\n } else {\n connector.push(caretTrap, connectionSymbol);\n }\n\n connector.push(caretTrap);\n\n return connector;\n}\n\nfunction getLocalPart(rawValue, indexOfFirstAtSymbol) {\n if (indexOfFirstAtSymbol === -1) {\n return rawValue;\n } else {\n return rawValue.slice(0, indexOfFirstAtSymbol);\n }\n}\n\nfunction getDomainName(rawValue, indexOfFirstAtSymbol, indexOfTopLevelDomainDot, placeholderChar) {\n var domainName = emptyString;\n\n if (indexOfFirstAtSymbol !== -1) {\n if (indexOfTopLevelDomainDot === -1) {\n domainName = rawValue.slice(indexOfFirstAtSymbol + 1, rawValue.length);\n } else {\n domainName = rawValue.slice(indexOfFirstAtSymbol + 1, indexOfTopLevelDomainDot);\n }\n }\n\n domainName = domainName.replace(new RegExp('[\\\\s' + placeholderChar + ']', g), emptyString);\n\n if (domainName === atSymbol) {\n return asterisk;\n } else if (domainName.length < 1) {\n return space;\n } else if (domainName[domainName.length - 1] === dot) {\n return domainName.slice(0, domainName.length - 1);\n } else {\n return domainName;\n }\n}\n\nfunction getTopLevelDomain(rawValue, indexOfTopLevelDomainDot, placeholderChar, currentCaretPosition) {\n var topLevelDomain = emptyString;\n\n if (indexOfTopLevelDomainDot !== -1) {\n topLevelDomain = rawValue.slice(indexOfTopLevelDomainDot + 1, rawValue.length);\n }\n\n topLevelDomain = topLevelDomain.replace(new RegExp('[\\\\s' + placeholderChar + '.]', g), emptyString);\n\n if (topLevelDomain.length === 0) {\n return rawValue[indexOfTopLevelDomainDot - 1] === dot && currentCaretPosition !== rawValue.length ? asterisk : emptyString;\n } else {\n return topLevelDomain;\n }\n}\n\nfunction convertToMask(str, noDots) {\n return str.split(emptyString).map(function (char) {\n return char === space ? char : noDots ? anyNonDotOrWhitespaceRegExp : anyNonWhitespaceRegExp;\n });\n}\n\nexports.default = { mask: emailMask, pipe: _emailPipe2.default };"},{"id":1,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailPipe.js","name":"./addons/src/emailPipe.js","index":3,"index2":2,"size":1571,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","module":"./addons/src/emailMask.js","moduleName":"./addons/src/emailMask.js","type":"cjs require","userRequest":"./emailPipe","loc":"7:17-39"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = emailPipe;\nvar atSymbol = '@';\nvar allAtSymbolsRegExp = /@/g;\nvar emptyString = '';\nvar atDot = '@.';\nvar dot = '.';\nvar dotDot = '..';\nvar emptyArray = [];\nvar allDotsRegExp = /\\./g;\n\nfunction emailPipe(conformedValue, config) {\n var currentCaretPosition = config.currentCaretPosition,\n rawValue = config.rawValue,\n previousConformedValue = config.previousConformedValue,\n placeholderChar = config.placeholderChar;\n\n\n var value = conformedValue;\n\n value = removeAllAtSymbolsButFirst(value);\n\n var indexOfAtDot = value.indexOf(atDot);\n\n var emptyEmail = rawValue.match(new RegExp('[^@\\\\s.' + placeholderChar + ']')) === null;\n\n if (emptyEmail) {\n return emptyString;\n }\n\n if (value.indexOf(dotDot) !== -1 || indexOfAtDot !== -1 && currentCaretPosition !== indexOfAtDot + 1 || rawValue.indexOf(atSymbol) === -1 && previousConformedValue !== emptyString && rawValue.indexOf(dot) !== -1) {\n return false;\n }\n\n var indexOfAtSymbol = value.indexOf(atSymbol);\n var domainPart = value.slice(indexOfAtSymbol + 1, value.length);\n\n if ((domainPart.match(allDotsRegExp) || emptyArray).length > 1 && value.substr(-1) === dot && currentCaretPosition !== rawValue.length) {\n value = value.slice(0, value.length - 1);\n }\n\n return value;\n}\n\nfunction removeAllAtSymbolsButFirst(str) {\n var atSymbolCount = 0;\n\n return str.replace(allAtSymbolsRegExp, function () {\n atSymbolCount++;\n\n return atSymbolCount === 1 ? atSymbol : emptyString;\n });\n}"}],"filteredModules":0,"children":[]}
{"errors":[],"warnings":[],"version":"1.14.0","hash":"eacc6b2eb75df3aab043","publicPath":"","assetsByChunkName":{"emailMask":"emailMask.js","createNumberMask":"createNumberMask.js","createAutoCorrectedDatePipe":"createAutoCorrectedDatePipe.js"},"assets":[{"name":"emailMask.js","size":2137,"chunks":[0],"chunkNames":["emailMask"],"emitted":true},{"name":"createNumberMask.js","size":2166,"chunks":[1],"chunkNames":["createNumberMask"],"emitted":true},{"name":"createAutoCorrectedDatePipe.js","size":1081,"chunks":[2],"chunkNames":["createAutoCorrectedDatePipe"],"emitted":true},{"name":"stats.json","size":0,"chunks":[],"chunkNames":[]}],"chunks":[{"id":0,"rendered":true,"initial":true,"entry":true,"extraAsync":false,"size":5419,"names":["emailMask"],"files":["emailMask.js"],"hash":"a90ddd790d11faf5e2f4","parents":[],"modules":[{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","name":"./addons/src/emailMask.js","index":2,"index2":3,"size":3848,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _emailPipe = require('./emailPipe');\n\nvar _emailPipe2 = _interopRequireDefault(_emailPipe);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar asterisk = '*';\nvar dot = '.';\nvar emptyString = '';\nvar atSymbol = '@';\nvar caretTrap = '[]';\nvar space = ' ';\nvar g = 'g';\nvar anyNonWhitespaceRegExp = /[^\\s]/;\nvar anyNonDotOrWhitespaceRegExp = /[^.\\s]/;\nvar allWhitespaceRegExp = /\\s/g;\n\nfunction emailMask(rawValue, config) {\n rawValue = rawValue.replace(allWhitespaceRegExp, emptyString);\n\n var placeholderChar = config.placeholderChar,\n currentCaretPosition = config.currentCaretPosition;\n\n var indexOfFirstAtSymbol = rawValue.indexOf(atSymbol);\n var indexOfLastDot = rawValue.lastIndexOf(dot);\n var indexOfTopLevelDomainDot = indexOfLastDot < indexOfFirstAtSymbol ? -1 : indexOfLastDot;\n\n var localPartToDomainConnector = getConnector(rawValue, indexOfFirstAtSymbol + 1, atSymbol);\n var domainNameToTopLevelDomainConnector = getConnector(rawValue, indexOfTopLevelDomainDot - 1, dot);\n\n var localPart = getLocalPart(rawValue, indexOfFirstAtSymbol, placeholderChar);\n var domainName = getDomainName(rawValue, indexOfFirstAtSymbol, indexOfTopLevelDomainDot, placeholderChar);\n var topLevelDomain = getTopLevelDomain(rawValue, indexOfTopLevelDomainDot, placeholderChar, currentCaretPosition);\n\n localPart = convertToMask(localPart);\n domainName = convertToMask(domainName);\n topLevelDomain = convertToMask(topLevelDomain, true);\n\n var mask = localPart.concat(localPartToDomainConnector).concat(domainName).concat(domainNameToTopLevelDomainConnector).concat(topLevelDomain);\n\n return mask;\n}\n\nfunction getConnector(rawValue, indexOfConnection, connectionSymbol) {\n var connector = [];\n\n if (rawValue[indexOfConnection] === connectionSymbol) {\n connector.push(connectionSymbol);\n } else {\n connector.push(caretTrap, connectionSymbol);\n }\n\n connector.push(caretTrap);\n\n return connector;\n}\n\nfunction getLocalPart(rawValue, indexOfFirstAtSymbol) {\n if (indexOfFirstAtSymbol === -1) {\n return rawValue;\n } else {\n return rawValue.slice(0, indexOfFirstAtSymbol);\n }\n}\n\nfunction getDomainName(rawValue, indexOfFirstAtSymbol, indexOfTopLevelDomainDot, placeholderChar) {\n var domainName = emptyString;\n\n if (indexOfFirstAtSymbol !== -1) {\n if (indexOfTopLevelDomainDot === -1) {\n domainName = rawValue.slice(indexOfFirstAtSymbol + 1, rawValue.length);\n } else {\n domainName = rawValue.slice(indexOfFirstAtSymbol + 1, indexOfTopLevelDomainDot);\n }\n }\n\n domainName = domainName.replace(new RegExp('[\\\\s' + placeholderChar + ']', g), emptyString);\n\n if (domainName === atSymbol) {\n return asterisk;\n } else if (domainName.length < 1) {\n return space;\n } else if (domainName[domainName.length - 1] === dot) {\n return domainName.slice(0, domainName.length - 1);\n } else {\n return domainName;\n }\n}\n\nfunction getTopLevelDomain(rawValue, indexOfTopLevelDomainDot, placeholderChar, currentCaretPosition) {\n var topLevelDomain = emptyString;\n\n if (indexOfTopLevelDomainDot !== -1) {\n topLevelDomain = rawValue.slice(indexOfTopLevelDomainDot + 1, rawValue.length);\n }\n\n topLevelDomain = topLevelDomain.replace(new RegExp('[\\\\s' + placeholderChar + '.]', g), emptyString);\n\n if (topLevelDomain.length === 0) {\n return rawValue[indexOfTopLevelDomainDot - 1] === dot && currentCaretPosition !== rawValue.length ? asterisk : emptyString;\n } else {\n return topLevelDomain;\n }\n}\n\nfunction convertToMask(str, noDots) {\n return str.split(emptyString).map(function (char) {\n return char === space ? char : noDots ? anyNonDotOrWhitespaceRegExp : anyNonWhitespaceRegExp;\n });\n}\n\nexports.default = { mask: emailMask, pipe: _emailPipe2.default };"},{"id":1,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailPipe.js","name":"./addons/src/emailPipe.js","index":3,"index2":2,"size":1571,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","module":"./addons/src/emailMask.js","moduleName":"./addons/src/emailMask.js","type":"cjs require","userRequest":"./emailPipe","loc":"7:17-39"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = emailPipe;\nvar atSymbol = '@';\nvar allAtSymbolsRegExp = /@/g;\nvar emptyString = '';\nvar atDot = '@.';\nvar dot = '.';\nvar dotDot = '..';\nvar emptyArray = [];\nvar allDotsRegExp = /\\./g;\n\nfunction emailPipe(conformedValue, config) {\n var currentCaretPosition = config.currentCaretPosition,\n rawValue = config.rawValue,\n previousConformedValue = config.previousConformedValue,\n placeholderChar = config.placeholderChar;\n\n\n var value = conformedValue;\n\n value = removeAllAtSymbolsButFirst(value);\n\n var indexOfAtDot = value.indexOf(atDot);\n\n var emptyEmail = rawValue.match(new RegExp('[^@\\\\s.' + placeholderChar + ']')) === null;\n\n if (emptyEmail) {\n return emptyString;\n }\n\n if (value.indexOf(dotDot) !== -1 || indexOfAtDot !== -1 && currentCaretPosition !== indexOfAtDot + 1 || rawValue.indexOf(atSymbol) === -1 && previousConformedValue !== emptyString && rawValue.indexOf(dot) !== -1) {\n return false;\n }\n\n var indexOfAtSymbol = value.indexOf(atSymbol);\n var domainPart = value.slice(indexOfAtSymbol + 1, value.length);\n\n if ((domainPart.match(allDotsRegExp) || emptyArray).length > 1 && value.substr(-1) === dot && currentCaretPosition !== rawValue.length) {\n value = value.slice(0, value.length - 1);\n }\n\n return value;\n}\n\nfunction removeAllAtSymbolsButFirst(str) {\n var atSymbolCount = 0;\n\n return str.replace(allAtSymbolsRegExp, function () {\n atSymbolCount++;\n\n return atSymbolCount === 1 ? atSymbol : emptyString;\n });\n}"}],"filteredModules":0,"origins":[{"moduleId":0,"module":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","moduleName":"./addons/src/emailMask.js","loc":"","name":"emailMask","reasons":[]}]},{"id":1,"rendered":true,"initial":true,"entry":true,"extraAsync":false,"size":5019,"names":["createNumberMask"],"files":["createNumberMask.js"],"hash":"29fc208a91f6c0cbc88b","parents":[],"modules":[{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createNumberMask.js","name":"./addons/src/createNumberMask.js","index":1,"index2":1,"size":5019,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[1],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = createNumberMask;\nvar dollarSign = '$';\nvar emptyString = '';\nvar comma = ',';\nvar period = '.';\nvar minus = '-';\nvar minusRegExp = /-/;\nvar nonDigitsRegExp = /\\D+/g;\nvar number = 'number';\nvar digitRegExp = /\\d/;\nvar caretTrap = '[]';\n\nfunction createNumberMask() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$prefix = _ref.prefix,\n prefix = _ref$prefix === undefined ? dollarSign : _ref$prefix,\n _ref$suffix = _ref.suffix,\n suffix = _ref$suffix === undefined ? emptyString : _ref$suffix,\n _ref$includeThousands = _ref.includeThousandsSeparator,\n includeThousandsSeparator = _ref$includeThousands === undefined ? true : _ref$includeThousands,\n _ref$thousandsSeparat = _ref.thousandsSeparatorSymbol,\n thousandsSeparatorSymbol = _ref$thousandsSeparat === undefined ? comma : _ref$thousandsSeparat,\n _ref$allowDecimal = _ref.allowDecimal,\n allowDecimal = _ref$allowDecimal === undefined ? false : _ref$allowDecimal,\n _ref$decimalSymbol = _ref.decimalSymbol,\n decimalSymbol = _ref$decimalSymbol === undefined ? period : _ref$decimalSymbol,\n _ref$decimalLimit = _ref.decimalLimit,\n decimalLimit = _ref$decimalLimit === undefined ? 2 : _ref$decimalLimit,\n _ref$requireDecimal = _ref.requireDecimal,\n requireDecimal = _ref$requireDecimal === undefined ? false : _ref$requireDecimal,\n _ref$allowNegative = _ref.allowNegative,\n allowNegative = _ref$allowNegative === undefined ? false : _ref$allowNegative,\n _ref$integerLimit = _ref.integerLimit,\n integerLimit = _ref$integerLimit === undefined ? null : _ref$integerLimit;\n\n var prefixLength = prefix.length;\n\n function numberMask() {\n var rawValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : emptyString;\n\n var rawValueLength = rawValue.length;\n\n if (rawValue === emptyString || rawValue[0] === prefix[0] && rawValueLength === 1) {\n return prefix.split(emptyString).concat([digitRegExp]).concat(suffix.split(emptyString));\n }\n\n var indexOfLastDecimal = rawValue.lastIndexOf(decimalSymbol);\n var hasDecimal = indexOfLastDecimal !== -1;\n var isNegative = rawValue[0] === minus && allowNegative;\n\n var integer = void 0;\n var fraction = void 0;\n var mask = void 0;\n\n if (hasDecimal && (allowDecimal || requireDecimal)) {\n integer = rawValue.slice(rawValue.slice(0, prefixLength) === prefix ? prefixLength : 0, indexOfLastDecimal);\n\n fraction = rawValue.slice(indexOfLastDecimal + 1, rawValueLength);\n fraction = convertToMask(fraction.replace(nonDigitsRegExp, emptyString));\n } else {\n if (rawValue.slice(0, prefixLength) === prefix) {\n integer = rawValue.slice(prefixLength);\n } else {\n integer = rawValue;\n }\n }\n\n if (integerLimit && (typeof integerLimit === 'undefined' ? 'undefined' : _typeof(integerLimit)) === number) {\n integer = integer.slice(0, integerLimit);\n }\n\n integer = integer.replace(nonDigitsRegExp, emptyString);\n\n integer = includeThousandsSeparator ? addThousandsSeparator(integer, thousandsSeparatorSymbol) : integer;\n\n mask = convertToMask(integer);\n\n if (hasDecimal && allowDecimal || requireDecimal === true) {\n if (rawValue[indexOfLastDecimal - 1] !== decimalSymbol) {\n mask.push(caretTrap);\n }\n\n mask.push(decimalSymbol, caretTrap);\n\n if (fraction) {\n if ((typeof decimalLimit === 'undefined' ? 'undefined' : _typeof(decimalLimit)) === number) {\n fraction = fraction.slice(0, decimalLimit);\n }\n\n mask = mask.concat(fraction);\n }\n\n if (requireDecimal === true && rawValue[indexOfLastDecimal - 1] === decimalSymbol) {\n mask.push(digitRegExp);\n }\n }\n\n if (prefixLength > 0) {\n mask = prefix.split(emptyString).concat(mask);\n }\n\n if (isNegative) {\n // If user is entering a negative number, add a mask placeholder spot to attract the caret to it.\n if (mask.length === prefixLength) {\n mask.push(digitRegExp);\n }\n\n mask = [minusRegExp].concat(mask);\n }\n\n if (suffix.length > 0) {\n mask = mask.concat(suffix.split(emptyString));\n }\n\n return mask;\n }\n\n numberMask.instanceOf = 'createNumberMask';\n\n return numberMask;\n}\n\nfunction convertToMask(strNumber) {\n return strNumber.split(emptyString).map(function (char) {\n return digitRegExp.test(char) ? digitRegExp : char;\n });\n}\n\n// http://stackoverflow.com/a/10899795/604296\nfunction addThousandsSeparator(n, thousandsSeparatorSymbol) {\n return n.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparatorSymbol);\n}"}],"filteredModules":0,"origins":[{"moduleId":0,"module":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createNumberMask.js","moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createNumberMask.js","moduleName":"./addons/src/createNumberMask.js","loc":"","name":"createNumberMask","reasons":[]}]},{"id":2,"rendered":true,"initial":true,"entry":true,"extraAsync":false,"size":1578,"names":["createAutoCorrectedDatePipe"],"files":["createAutoCorrectedDatePipe.js"],"hash":"1f35bdd5e10fa6997493","parents":[],"modules":[{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createAutoCorrectedDatePipe.js","name":"./addons/src/createAutoCorrectedDatePipe.js","index":0,"index2":0,"size":1578,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[2],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createAutoCorrectedDatePipe;\nfunction createAutoCorrectedDatePipe() {\n var dateFormat = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'mm dd yyyy';\n\n return function (conformedValue) {\n var indexesOfPipedChars = [];\n var dateFormatArray = dateFormat.split(/[^dmy]+/);\n var maxValue = { 'dd': 31, 'mm': 12, 'yyyy': 9999 };\n var minValue = { 'dd': 1, 'mm': 1, 'yyyy': 1 };\n var conformedValueArr = conformedValue.split('');\n\n // Check first digit\n dateFormatArray.forEach(function (format) {\n var position = dateFormat.indexOf(format);\n var maxFirstDigit = parseInt(maxValue[format].toString().substr(0, 1), 10);\n\n if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {\n conformedValueArr[position + 1] = conformedValueArr[position];\n conformedValueArr[position] = 0;\n indexesOfPipedChars.push(position);\n }\n });\n\n // Check for invalid date\n var isInvalid = dateFormatArray.some(function (format) {\n var position = dateFormat.indexOf(format);\n var length = format.length;\n var textValue = conformedValue.substr(position, length).replace(/\\D/g, '');\n var value = parseInt(textValue, 10);\n\n return value > maxValue[format] || textValue.length === length && value < minValue[format];\n });\n\n if (isInvalid) {\n return false;\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars: indexesOfPipedChars\n };\n };\n}"}],"filteredModules":0,"origins":[{"moduleId":0,"module":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createAutoCorrectedDatePipe.js","moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createAutoCorrectedDatePipe.js","moduleName":"./addons/src/createAutoCorrectedDatePipe.js","loc":"","name":"createAutoCorrectedDatePipe","reasons":[]}]}],"modules":[{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createAutoCorrectedDatePipe.js","name":"./addons/src/createAutoCorrectedDatePipe.js","index":0,"index2":0,"size":1578,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[2],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createAutoCorrectedDatePipe;\nfunction createAutoCorrectedDatePipe() {\n var dateFormat = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'mm dd yyyy';\n\n return function (conformedValue) {\n var indexesOfPipedChars = [];\n var dateFormatArray = dateFormat.split(/[^dmy]+/);\n var maxValue = { 'dd': 31, 'mm': 12, 'yyyy': 9999 };\n var minValue = { 'dd': 1, 'mm': 1, 'yyyy': 1 };\n var conformedValueArr = conformedValue.split('');\n\n // Check first digit\n dateFormatArray.forEach(function (format) {\n var position = dateFormat.indexOf(format);\n var maxFirstDigit = parseInt(maxValue[format].toString().substr(0, 1), 10);\n\n if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {\n conformedValueArr[position + 1] = conformedValueArr[position];\n conformedValueArr[position] = 0;\n indexesOfPipedChars.push(position);\n }\n });\n\n // Check for invalid date\n var isInvalid = dateFormatArray.some(function (format) {\n var position = dateFormat.indexOf(format);\n var length = format.length;\n var textValue = conformedValue.substr(position, length).replace(/\\D/g, '');\n var value = parseInt(textValue, 10);\n\n return value > maxValue[format] || textValue.length === length && value < minValue[format];\n });\n\n if (isInvalid) {\n return false;\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars: indexesOfPipedChars\n };\n };\n}"},{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/createNumberMask.js","name":"./addons/src/createNumberMask.js","index":1,"index2":1,"size":5019,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[1],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = createNumberMask;\nvar dollarSign = '$';\nvar emptyString = '';\nvar comma = ',';\nvar period = '.';\nvar minus = '-';\nvar minusRegExp = /-/;\nvar nonDigitsRegExp = /\\D+/g;\nvar number = 'number';\nvar digitRegExp = /\\d/;\nvar caretTrap = '[]';\n\nfunction createNumberMask() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$prefix = _ref.prefix,\n prefix = _ref$prefix === undefined ? dollarSign : _ref$prefix,\n _ref$suffix = _ref.suffix,\n suffix = _ref$suffix === undefined ? emptyString : _ref$suffix,\n _ref$includeThousands = _ref.includeThousandsSeparator,\n includeThousandsSeparator = _ref$includeThousands === undefined ? true : _ref$includeThousands,\n _ref$thousandsSeparat = _ref.thousandsSeparatorSymbol,\n thousandsSeparatorSymbol = _ref$thousandsSeparat === undefined ? comma : _ref$thousandsSeparat,\n _ref$allowDecimal = _ref.allowDecimal,\n allowDecimal = _ref$allowDecimal === undefined ? false : _ref$allowDecimal,\n _ref$decimalSymbol = _ref.decimalSymbol,\n decimalSymbol = _ref$decimalSymbol === undefined ? period : _ref$decimalSymbol,\n _ref$decimalLimit = _ref.decimalLimit,\n decimalLimit = _ref$decimalLimit === undefined ? 2 : _ref$decimalLimit,\n _ref$requireDecimal = _ref.requireDecimal,\n requireDecimal = _ref$requireDecimal === undefined ? false : _ref$requireDecimal,\n _ref$allowNegative = _ref.allowNegative,\n allowNegative = _ref$allowNegative === undefined ? false : _ref$allowNegative,\n _ref$integerLimit = _ref.integerLimit,\n integerLimit = _ref$integerLimit === undefined ? null : _ref$integerLimit;\n\n var prefixLength = prefix.length;\n\n function numberMask() {\n var rawValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : emptyString;\n\n var rawValueLength = rawValue.length;\n\n if (rawValue === emptyString || rawValue[0] === prefix[0] && rawValueLength === 1) {\n return prefix.split(emptyString).concat([digitRegExp]).concat(suffix.split(emptyString));\n }\n\n var indexOfLastDecimal = rawValue.lastIndexOf(decimalSymbol);\n var hasDecimal = indexOfLastDecimal !== -1;\n var isNegative = rawValue[0] === minus && allowNegative;\n\n var integer = void 0;\n var fraction = void 0;\n var mask = void 0;\n\n if (hasDecimal && (allowDecimal || requireDecimal)) {\n integer = rawValue.slice(rawValue.slice(0, prefixLength) === prefix ? prefixLength : 0, indexOfLastDecimal);\n\n fraction = rawValue.slice(indexOfLastDecimal + 1, rawValueLength);\n fraction = convertToMask(fraction.replace(nonDigitsRegExp, emptyString));\n } else {\n if (rawValue.slice(0, prefixLength) === prefix) {\n integer = rawValue.slice(prefixLength);\n } else {\n integer = rawValue;\n }\n }\n\n if (integerLimit && (typeof integerLimit === 'undefined' ? 'undefined' : _typeof(integerLimit)) === number) {\n integer = integer.slice(0, integerLimit);\n }\n\n integer = integer.replace(nonDigitsRegExp, emptyString);\n\n integer = includeThousandsSeparator ? addThousandsSeparator(integer, thousandsSeparatorSymbol) : integer;\n\n mask = convertToMask(integer);\n\n if (hasDecimal && allowDecimal || requireDecimal === true) {\n if (rawValue[indexOfLastDecimal - 1] !== decimalSymbol) {\n mask.push(caretTrap);\n }\n\n mask.push(decimalSymbol, caretTrap);\n\n if (fraction) {\n if ((typeof decimalLimit === 'undefined' ? 'undefined' : _typeof(decimalLimit)) === number) {\n fraction = fraction.slice(0, decimalLimit);\n }\n\n mask = mask.concat(fraction);\n }\n\n if (requireDecimal === true && rawValue[indexOfLastDecimal - 1] === decimalSymbol) {\n mask.push(digitRegExp);\n }\n }\n\n if (prefixLength > 0) {\n mask = prefix.split(emptyString).concat(mask);\n }\n\n if (isNegative) {\n // If user is entering a negative number, add a mask placeholder spot to attract the caret to it.\n if (mask.length === prefixLength) {\n mask.push(digitRegExp);\n }\n\n mask = [minusRegExp].concat(mask);\n }\n\n if (suffix.length > 0) {\n mask = mask.concat(suffix.split(emptyString));\n }\n\n return mask;\n }\n\n numberMask.instanceOf = 'createNumberMask';\n\n return numberMask;\n}\n\nfunction convertToMask(strNumber) {\n return strNumber.split(emptyString).map(function (char) {\n return digitRegExp.test(char) ? digitRegExp : char;\n });\n}\n\n// http://stackoverflow.com/a/10899795/604296\nfunction addThousandsSeparator(n, thousandsSeparatorSymbol) {\n return n.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparatorSymbol);\n}"},{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","name":"./addons/src/emailMask.js","index":2,"index2":3,"size":3848,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _emailPipe = require('./emailPipe');\n\nvar _emailPipe2 = _interopRequireDefault(_emailPipe);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar asterisk = '*';\nvar dot = '.';\nvar emptyString = '';\nvar atSymbol = '@';\nvar caretTrap = '[]';\nvar space = ' ';\nvar g = 'g';\nvar anyNonWhitespaceRegExp = /[^\\s]/;\nvar anyNonDotOrWhitespaceRegExp = /[^.\\s]/;\nvar allWhitespaceRegExp = /\\s/g;\n\nfunction emailMask(rawValue, config) {\n rawValue = rawValue.replace(allWhitespaceRegExp, emptyString);\n\n var placeholderChar = config.placeholderChar,\n currentCaretPosition = config.currentCaretPosition;\n\n var indexOfFirstAtSymbol = rawValue.indexOf(atSymbol);\n var indexOfLastDot = rawValue.lastIndexOf(dot);\n var indexOfTopLevelDomainDot = indexOfLastDot < indexOfFirstAtSymbol ? -1 : indexOfLastDot;\n\n var localPartToDomainConnector = getConnector(rawValue, indexOfFirstAtSymbol + 1, atSymbol);\n var domainNameToTopLevelDomainConnector = getConnector(rawValue, indexOfTopLevelDomainDot - 1, dot);\n\n var localPart = getLocalPart(rawValue, indexOfFirstAtSymbol, placeholderChar);\n var domainName = getDomainName(rawValue, indexOfFirstAtSymbol, indexOfTopLevelDomainDot, placeholderChar);\n var topLevelDomain = getTopLevelDomain(rawValue, indexOfTopLevelDomainDot, placeholderChar, currentCaretPosition);\n\n localPart = convertToMask(localPart);\n domainName = convertToMask(domainName);\n topLevelDomain = convertToMask(topLevelDomain, true);\n\n var mask = localPart.concat(localPartToDomainConnector).concat(domainName).concat(domainNameToTopLevelDomainConnector).concat(topLevelDomain);\n\n return mask;\n}\n\nfunction getConnector(rawValue, indexOfConnection, connectionSymbol) {\n var connector = [];\n\n if (rawValue[indexOfConnection] === connectionSymbol) {\n connector.push(connectionSymbol);\n } else {\n connector.push(caretTrap, connectionSymbol);\n }\n\n connector.push(caretTrap);\n\n return connector;\n}\n\nfunction getLocalPart(rawValue, indexOfFirstAtSymbol) {\n if (indexOfFirstAtSymbol === -1) {\n return rawValue;\n } else {\n return rawValue.slice(0, indexOfFirstAtSymbol);\n }\n}\n\nfunction getDomainName(rawValue, indexOfFirstAtSymbol, indexOfTopLevelDomainDot, placeholderChar) {\n var domainName = emptyString;\n\n if (indexOfFirstAtSymbol !== -1) {\n if (indexOfTopLevelDomainDot === -1) {\n domainName = rawValue.slice(indexOfFirstAtSymbol + 1, rawValue.length);\n } else {\n domainName = rawValue.slice(indexOfFirstAtSymbol + 1, indexOfTopLevelDomainDot);\n }\n }\n\n domainName = domainName.replace(new RegExp('[\\\\s' + placeholderChar + ']', g), emptyString);\n\n if (domainName === atSymbol) {\n return asterisk;\n } else if (domainName.length < 1) {\n return space;\n } else if (domainName[domainName.length - 1] === dot) {\n return domainName.slice(0, domainName.length - 1);\n } else {\n return domainName;\n }\n}\n\nfunction getTopLevelDomain(rawValue, indexOfTopLevelDomainDot, placeholderChar, currentCaretPosition) {\n var topLevelDomain = emptyString;\n\n if (indexOfTopLevelDomainDot !== -1) {\n topLevelDomain = rawValue.slice(indexOfTopLevelDomainDot + 1, rawValue.length);\n }\n\n topLevelDomain = topLevelDomain.replace(new RegExp('[\\\\s' + placeholderChar + '.]', g), emptyString);\n\n if (topLevelDomain.length === 0) {\n return rawValue[indexOfTopLevelDomainDot - 1] === dot && currentCaretPosition !== rawValue.length ? asterisk : emptyString;\n } else {\n return topLevelDomain;\n }\n}\n\nfunction convertToMask(str, noDots) {\n return str.split(emptyString).map(function (char) {\n return char === space ? char : noDots ? anyNonDotOrWhitespaceRegExp : anyNonWhitespaceRegExp;\n });\n}\n\nexports.default = { mask: emailMask, pipe: _emailPipe2.default };"},{"id":1,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailPipe.js","name":"./addons/src/emailPipe.js","index":3,"index2":2,"size":1571,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/lib/index.js!/Users/mk/Code/github/msafi/text-mask/addons/src/emailMask.js","module":"./addons/src/emailMask.js","moduleName":"./addons/src/emailMask.js","type":"cjs require","userRequest":"./emailPipe","loc":"7:17-39"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = emailPipe;\nvar atSymbol = '@';\nvar allAtSymbolsRegExp = /@/g;\nvar emptyString = '';\nvar atDot = '@.';\nvar dot = '.';\nvar dotDot = '..';\nvar emptyArray = [];\nvar allDotsRegExp = /\\./g;\n\nfunction emailPipe(conformedValue, config) {\n var currentCaretPosition = config.currentCaretPosition,\n rawValue = config.rawValue,\n previousConformedValue = config.previousConformedValue,\n placeholderChar = config.placeholderChar;\n\n\n var value = conformedValue;\n\n value = removeAllAtSymbolsButFirst(value);\n\n var indexOfAtDot = value.indexOf(atDot);\n\n var emptyEmail = rawValue.match(new RegExp('[^@\\\\s.' + placeholderChar + ']')) === null;\n\n if (emptyEmail) {\n return emptyString;\n }\n\n if (value.indexOf(dotDot) !== -1 || indexOfAtDot !== -1 && currentCaretPosition !== indexOfAtDot + 1 || rawValue.indexOf(atSymbol) === -1 && previousConformedValue !== emptyString && rawValue.indexOf(dot) !== -1) {\n return false;\n }\n\n var indexOfAtSymbol = value.indexOf(atSymbol);\n var domainPart = value.slice(indexOfAtSymbol + 1, value.length);\n\n if ((domainPart.match(allDotsRegExp) || emptyArray).length > 1 && value.substr(-1) === dot && currentCaretPosition !== rawValue.length) {\n value = value.slice(0, value.length - 1);\n }\n\n return value;\n}\n\nfunction removeAllAtSymbolsButFirst(str) {\n var atSymbolCount = 0;\n\n return str.replace(allAtSymbolsRegExp, function () {\n atSymbolCount++;\n\n return atSymbolCount === 1 ? atSymbol : emptyString;\n });\n}"}],"filteredModules":0,"children":[]}
{
"name": "text-mask-addons",
"version": "2.1.0",
"version": "3.0.0",
"description": "Addons for Text Mask https://github.com/text-mask/text-mask",

@@ -5,0 +5,0 @@ "author": "M.K. Safi <msafi@msafi.com>",

@@ -29,2 +29,3 @@ # Text Mask Addons

1. `decimalLimit` (number): how many digits to allow after the decimal. Defaults to `2`
1. `integerLimit` (number): limit the length of the integer number. Defaults to `null` for unlimited
1. `requireDecimal` (boolean): whether or not to always include a decimal point and placeholder for decimal digits

@@ -31,0 +32,0 @@ after the integer. Defaults to `false`.

@@ -22,6 +22,7 @@ const dollarSign = '$'

allowNegative = false,
integerLimit = null
} = {}) {
const prefixLength = prefix.length
function numberMask(rawValue) {
function numberMask(rawValue = emptyString) {
const rawValueLength = rawValue.length

@@ -45,3 +46,3 @@

if (hasDecimal && (allowDecimal || requireDecimal)) {
integer = rawValue.slice(0, indexOfLastDecimal)
integer = rawValue.slice(rawValue.slice(0, prefixLength) === prefix ? prefixLength : 0, indexOfLastDecimal)

@@ -51,5 +52,13 @@ fraction = rawValue.slice(indexOfLastDecimal + 1, rawValueLength)

} else {
integer = rawValue
if (rawValue.slice(0, prefixLength) === prefix) {
integer = rawValue.slice(prefixLength)
} else {
integer = rawValue
}
}
if (integerLimit && typeof integerLimit === number) {
integer = integer.slice(0, integerLimit)
}
integer = integer.replace(nonDigitsRegExp, emptyString)

@@ -56,0 +65,0 @@

@@ -87,2 +87,24 @@ const createNumberMask = (isVerify()) ?

describe('integer limiting', () => {
it('can limit the length of the integer part', () => {
let numberMask = createNumberMask({integerLimit: 3})
expect(numberMask('1999')).to.deep.equal(['$', /\d/, /\d/, /\d/])
})
it('it works when there is a prefix', () => {
let numberMask = createNumberMask({integerLimit: 3})
expect(numberMask('$1999')).to.deep.equal(['$', /\d/, /\d/, /\d/])
})
it('works when there is a decimal and a prefix', () => {
let numberMask = createNumberMask({integerLimit: 3, allowDecimal: true})
expect(numberMask('$199.34')).to.deep.equal(['$', /\d/, /\d/, /\d/, '[]', '.', '[]', /\d/, /\d/])
})
it('works when there is a decimal and no prefix', () => {
let numberMask = createNumberMask({integerLimit: 3, allowDecimal: true, prefix: ''})
expect(numberMask('199.34')).to.deep.equal([/\d/, /\d/, /\d/, '[]', '.', '[]', /\d/, /\d/])
})
})
describe('numberMask default behavior', () => {

@@ -89,0 +111,0 @@ let numberMask = null

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc