restricted-input
Advanced tools
Comparing version 1.0.0 to 1.0.1
# Restricted Input - Release Notes | ||
## 1.0.1 (2016-08-30) | ||
* Remove deprecated `keyIdentifier` check | ||
* Optimize RegExp creation | ||
## 1.0.0 (2016-05-27) | ||
* Initial public release of restricted-input |
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.RestrictedInput = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | ||
module.exports={ | ||
"errors": { | ||
"PATTERN_MISSING": "A valid pattern must be provided", | ||
"INVALID_ELEMENT": "A valid HTML input or textarea element must be provided" | ||
'use strict'; | ||
module.exports = { | ||
errors: { | ||
PATTERN_MISSING: 'A valid pattern must be provided', | ||
INVALID_ELEMENT: 'A valid HTML input or textarea element must be provided' | ||
} | ||
} | ||
}; | ||
@@ -14,8 +16,11 @@ },{}],2:[function(require,module,exports){ | ||
var ANDROID_REGEX = /android/i; | ||
var CHROME_REGEX = /Chrome/; | ||
function _isAndroid(ua) { | ||
return /android/i.test(ua || UA); | ||
return ANDROID_REGEX.test(ua || UA); | ||
} | ||
function _isChrome(ua) { | ||
return /Chrome/.test(ua || UA); | ||
return CHROME_REGEX.test(ua || UA); | ||
} | ||
@@ -131,5 +136,6 @@ | ||
var PLACEHOLDER_REGEX = /^[A-Za-z0-9\*]$/; | ||
var PLACEHOLDER_PATTERN_REGEX = '({{[^}]+}})'; | ||
var PLACEHOLDER_PATTERN = '({{[^}]+}})'; | ||
var PERMACHAR_REGEX = '(\\s|\\S)'; | ||
var PATTERN_REGEX = new RegExp(PLACEHOLDER_PATTERN_REGEX + '|' + PERMACHAR_REGEX, 'g'); | ||
var PATTERN_REGEX = new RegExp(PLACEHOLDER_PATTERN + '|' + PERMACHAR_REGEX, 'g'); | ||
var PLACEHOLDER_PATTERN_REGEX = new RegExp('^' + PLACEHOLDER_PATTERN + '$'); | ||
var replacerRegex = new RegExp('{|}', 'g'); | ||
@@ -160,3 +166,3 @@ | ||
function isPlaceholderPattern(str) { | ||
return new RegExp('^' + PLACEHOLDER_PATTERN_REGEX + '$').test(str); | ||
return PLACEHOLDER_PATTERN_REGEX.test(str); | ||
} | ||
@@ -247,21 +253,2 @@ | ||
// https://www.w3.org/TR/2009/WD-DOM-Level-3-Events-20090908/#keyset-keyidentifiers | ||
switch (event.keyIdentifier) { | ||
case undefined: // eslint-disable-line | ||
case '': // Selenium | ||
break; | ||
case 'Tab': | ||
case 'U+0009': | ||
return true; | ||
case 'Backspace': | ||
case 'U+0008': | ||
return isAtBeginning; | ||
case 'Del': | ||
case 'Delete': | ||
case 'U+007F': // delete at the end | ||
return isAtEnd; | ||
default: | ||
return !/^U\+/.test(event.keyIdentifier); | ||
} | ||
// https://www.w3.org/TR/DOM-Level-3-Events/#widl-KeyboardEvent-key | ||
@@ -319,2 +306,3 @@ switch (event.key) { | ||
var Formatter = require('./formatter'); | ||
var DELETE_REGEX = /^(Del|Delete)$/; | ||
@@ -407,4 +395,4 @@ /** | ||
RestrictedInput.prototype._isDeletion = function (event) { | ||
var isBackspace = event.keyIdentifier === 'U+0008' || event.key === 'Backspace' || event.keyCode === 8; | ||
var isDelete = event.keyIdentifier === 'U+007F' || /^(Del|Delete)$/.test(event.key) || event.keyCode === 46; | ||
var isBackspace = event.key === 'Backspace' || event.keyCode === 8; | ||
var isDelete = DELETE_REGEX.test(event.key) || event.keyCode === 46; | ||
@@ -411,0 +399,0 @@ return isDelete || isBackspace; |
@@ -5,8 +5,11 @@ 'use strict'; | ||
var ANDROID_REGEX = /android/i; | ||
var CHROME_REGEX = /Chrome/; | ||
function _isAndroid(ua) { | ||
return /android/i.test(ua || UA); | ||
return ANDROID_REGEX.test(ua || UA); | ||
} | ||
function _isChrome(ua) { | ||
return /Chrome/.test(ua || UA); | ||
return CHROME_REGEX.test(ua || UA); | ||
} | ||
@@ -13,0 +16,0 @@ |
@@ -7,5 +7,6 @@ 'use strict'; | ||
var PLACEHOLDER_REGEX = /^[A-Za-z0-9\*]$/; | ||
var PLACEHOLDER_PATTERN_REGEX = '({{[^}]+}})'; | ||
var PLACEHOLDER_PATTERN = '({{[^}]+}})'; | ||
var PERMACHAR_REGEX = '(\\s|\\S)'; | ||
var PATTERN_REGEX = new RegExp(PLACEHOLDER_PATTERN_REGEX + '|' + PERMACHAR_REGEX, 'g'); | ||
var PATTERN_REGEX = new RegExp(PLACEHOLDER_PATTERN + '|' + PERMACHAR_REGEX, 'g'); | ||
var PLACEHOLDER_PATTERN_REGEX = new RegExp('^' + PLACEHOLDER_PATTERN + '$'); | ||
var replacerRegex = new RegExp('{|}', 'g'); | ||
@@ -36,3 +37,3 @@ | ||
function isPlaceholderPattern(str) { | ||
return new RegExp('^' + PLACEHOLDER_PATTERN_REGEX + '$').test(str); | ||
return PLACEHOLDER_PATTERN_REGEX.test(str); | ||
} | ||
@@ -39,0 +40,0 @@ |
@@ -12,21 +12,2 @@ 'use strict'; | ||
// https://www.w3.org/TR/2009/WD-DOM-Level-3-Events-20090908/#keyset-keyidentifiers | ||
switch (event.keyIdentifier) { | ||
case undefined: // eslint-disable-line | ||
case '': // Selenium | ||
break; | ||
case 'Tab': | ||
case 'U+0009': | ||
return true; | ||
case 'Backspace': | ||
case 'U+0008': | ||
return isAtBeginning; | ||
case 'Del': | ||
case 'Delete': | ||
case 'U+007F': // delete at the end | ||
return isAtEnd; | ||
default: | ||
return !/^U\+/.test(event.keyIdentifier); | ||
} | ||
// https://www.w3.org/TR/DOM-Level-3-Events/#widl-KeyboardEvent-key | ||
@@ -33,0 +14,0 @@ switch (event.key) { |
@@ -10,2 +10,3 @@ 'use strict'; | ||
var Formatter = require('./formatter'); | ||
var DELETE_REGEX = /^(Del|Delete)$/; | ||
@@ -98,4 +99,4 @@ /** | ||
RestrictedInput.prototype._isDeletion = function (event) { | ||
var isBackspace = event.keyIdentifier === 'U+0008' || event.key === 'Backspace' || event.keyCode === 8; | ||
var isDelete = event.keyIdentifier === 'U+007F' || /^(Del|Delete)$/.test(event.key) || event.keyCode === 46; | ||
var isBackspace = event.key === 'Backspace' || event.keyCode === 8; | ||
var isDelete = DELETE_REGEX.test(event.key) || event.keyCode === 46; | ||
@@ -102,0 +103,0 @@ return isDelete || isBackspace; |
{ | ||
"name": "restricted-input", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "Restrict inputs to certain valid characters (e.g. formatting phone or card numbers)", | ||
@@ -35,22 +35,23 @@ "author": "Braintree <code@getbraintree.com> (https://www.braintreepayments.com/)", | ||
"devDependencies": { | ||
"browserify": "10.2.4", | ||
"chai": "3.0.0", | ||
"browserify": "13.0.1", | ||
"chai": "3.5.0", | ||
"chokidar-cli": "1.2.0", | ||
"eslint": "2.7.0", | ||
"eslint-config-braintree": "1.0.0", | ||
"express": "4.13.0", | ||
"eslint-config-braintree": "1.0.2", | ||
"express": "4.14.0", | ||
"jsdoc": "3.4.0", | ||
"karma": "0.12.37", | ||
"karma-browserify": "4.2.1", | ||
"karma": "1.1.1", | ||
"karma-browserify": "5.1.0", | ||
"karma-chai-sinon": "0.1.5", | ||
"karma-mocha": "0.2.0", | ||
"karma-mocha-reporter": "1.0.2", | ||
"karma-phantomjs-launcher": "0.2.0", | ||
"lodash.assign": "3.2.0", | ||
"mocha": "2.2.5", | ||
"karma-mocha": "1.1.1", | ||
"karma-mocha-reporter": "2.0.4", | ||
"karma-phantomjs-launcher": "1.0.1", | ||
"lodash.assign": "4.0.9", | ||
"mocha": "3.0.0", | ||
"phantomjs-prebuilt": "2.1.7", | ||
"sauce-connect-launcher": "0.14.0", | ||
"sinon": "1.15.4", | ||
"sinon-chai": "2.8.0" | ||
"sinon": "1.17.4", | ||
"sinon-chai": "2.8.0", | ||
"watchify": "^3.7.0" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
0
0
72
30447
20
15
759