New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

restricted-input

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

restricted-input - npm Package Compare versions

Comparing version 1.0.11 to 1.1.0

.github/ISSUE_TEMPLATE.md

5

CHANGELOG.md
# Restricted Input - Release Notes
## 1.1.0 (2017-04-04)
* Provide specific strategy for Android KitKat Chromium based webviews. Fixes issue where only 4 characters could be input
* Provide helper method for determining if the browser supports formatting
## 1.0.11 (2017-02-22)

@@ -4,0 +9,0 @@

33

lib/device.js

@@ -5,22 +5,19 @@ 'use strict';

var ANDROID_REGEX = /android/i;
var CHROME_REGEX = /Chrome/;
var IE9_REGEX = /MSIE 9/;
var isAndroid = require('browser-detection/is-android');
var isChrome = require('browser-detection/is-chrome');
var isIos = require('browser-detection/is-ios');
var isIE9 = require('browser-detection/is-ie9');
function _isAndroid(ua) {
return ANDROID_REGEX.test(ua || UA);
}
// Old Android Webviews used specific versions of Chrome with 0.0.0 as their version suffix
// https://developer.chrome.com/multidevice/user-agent#webview_user_agent
var KITKAT_WEBVIEW_REGEX = /Version\/\d\.\d* Chrome\/\d*\.0\.0\.0/;
function _isChrome(ua) {
return CHROME_REGEX.test(ua || UA);
}
function _isOldSamsungBrowserOrSamsungWebview(ua) {
return !_isChrome(ua) && ua.indexOf('Samsung') > -1;
return !isChrome(ua) && ua.indexOf('Samsung') > -1;
}
function isIE9(ua) {
ua = ua || UA;
function isKitKatWebview(uaArg) {
var ua = uaArg || UA;
return IE9_REGEX.test(ua);
return isAndroid(ua) && KITKAT_WEBVIEW_REGEX.test(ua);
}

@@ -31,10 +28,5 @@

return _isAndroid(ua) && _isChrome(ua);
return isAndroid(ua) && isChrome(ua);
}
function isIos(ua) {
ua = ua || UA;
return /iPhone|iPod|iPad/.test(ua);
}
function isSamsungBrowser(ua) {

@@ -49,3 +41,4 @@ ua = ua || UA;

isIos: isIos,
isKitKatWebview: isKitKatWebview,
isSamsungBrowser: isSamsungBrowser
};

@@ -8,2 +8,3 @@ 'use strict';

var AndroidChromeStrategy = require('./strategies/android-chrome');
var KitKatChromiumBasedWebViewStrategy = require('./strategies/kitkat-chromium-based-webview');
var IE9Strategy = require('./strategies/ie9');

@@ -31,8 +32,8 @@ var BaseStrategy = require('./strategies/base');

// SamsungBrowser contains 'Chrome' in userAgent, so check it first
if (device.isSamsungBrowser()) {
// Disable formatting due to various digits being dropped
if (!RestrictedInput.supportsFormatting()) {
this.strategy = new NoopStrategy(options);
} else if (device.isIos()) {
this.strategy = new IosStrategy(options);
} else if (device.isKitKatWebview()) {
this.strategy = new KitKatChromiumBasedWebViewStrategy(options);
} else if (device.isAndroidChrome()) {

@@ -64,2 +65,7 @@ this.strategy = new AndroidChromeStrategy(options);

RestrictedInput.supportsFormatting = function () {
// Digits get dropped in samsung browser
return !device.isSamsungBrowser();
};
module.exports = RestrictedInput;
{
"name": "restricted-input",
"version": "1.0.11",
"version": "1.1.0",
"description": "Restrict inputs to certain valid characters (e.g. formatting phone or card numbers)",

@@ -36,2 +36,5 @@ "author": "Braintree <code@getbraintree.com> (https://www.braintreepayments.com/)",

},
"dependencies": {
"browser-detection": "braintree/browser-detection#1.1.0"
},
"devDependencies": {

@@ -38,0 +41,0 @@ "browserify": "13.0.1",

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc