Skip to content

Commit 791ef16

Browse files
WikiRikRik Smale
andauthored
fix: remove using of includes to support IE (#2540)
Co-authored-by: Rik Smale <[email protected]>
1 parent 0a39bb7 commit 791ef16

File tree

9 files changed

+19
-10
lines changed

9 files changed

+19
-10
lines changed

src/lib/isBoolean.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import assertString from './util/assertString';
2+
import includes from './util/includesArray';
23

34
const defaultOptions = { loose: false };
45
const strictBooleans = ['true', 'false', '1', '0'];
@@ -8,8 +9,8 @@ export default function isBoolean(str, options = defaultOptions) {
89
assertString(str);
910

1011
if (options.loose) {
11-
return looseBooleans.includes(str.toLowerCase());
12+
return includes(looseBooleans, str.toLowerCase());
1213
}
1314

14-
return strictBooleans.includes(str);
15+
return includes(strictBooleans, str);
1516
}

src/lib/isDecimal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import merge from './util/merge';
22
import assertString from './util/assertString';
3-
import includes from './util/includes';
3+
import includes from './util/includesArray';
44
import { decimal } from './alpha';
55

66
function decimalRegExp(options) {

src/lib/isIBAN.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import assertString from './util/assertString';
2+
import includes from './util/includesArray';
23

34
/**
45
* List of country codes with
@@ -131,15 +132,15 @@ function hasValidIbanFormat(str, options) {
131132
return false;
132133
}
133134

134-
const isoCountryCodeInWhiteList = options.whitelist.includes(isoCountryCode);
135+
const isoCountryCodeInWhiteList = includes(options.whitelist, isoCountryCode);
135136

136137
if (!isoCountryCodeInWhiteList) {
137138
return false;
138139
}
139140
}
140141

141142
if (options.blacklist) {
142-
const isoCountryCodeInBlackList = options.blacklist.includes(isoCountryCode);
143+
const isoCountryCodeInBlackList = includes(options.blacklist, isoCountryCode);
143144

144145
if (isoCountryCodeInBlackList) {
145146
return false;

src/lib/isIdentityCard.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import assertString from './util/assertString';
2+
import includes from './util/includesArray';
23
import isInt from './isInt';
34

45
const validators = {
@@ -277,7 +278,7 @@ const validators = {
277278

278279
const parityBit = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
279280

280-
const checkAddressCode = addressCode => provincesAndCities.includes(addressCode);
281+
const checkAddressCode = addressCode => includes(provincesAndCities, addressCode);
281282

282283
const checkBirthDayCode = (birDayCode) => {
283284
const yyyy = parseInt(birDayCode.substring(0, 4), 10);

src/lib/isJSON.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import assertString from './util/assertString';
2+
import includes from './util/includesArray';
23
import merge from './util/merge';
34

45
const default_json_options = {
@@ -15,7 +16,7 @@ export default function isJSON(str, options) {
1516
}
1617

1718
const obj = JSON.parse(str);
18-
return primitives.includes(obj) || (!!obj && typeof obj === 'object');
19+
return includes(primitives, obj) || (!!obj && typeof obj === 'object');
1920
} catch (e) { /* ignore */ }
2021
return false;
2122
}

src/lib/isLatLong.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import assertString from './util/assertString';
22
import merge from './util/merge';
3+
import includes from './util/includesString';
34

45
const lat = /^\(?[+-]?(90(\.0+)?|[1-8]?\d(\.\d+)?)$/;
56
const long = /^\s?[+-]?(180(\.0+)?|1[0-7]\d(\.\d+)?|\d{1,2}(\.\d+)?)\)?$/;
@@ -15,7 +16,7 @@ export default function isLatLong(str, options) {
1516
assertString(str);
1617
options = merge(options, defaultLatLongOptions);
1718

18-
if (!str.includes(',')) return false;
19+
if (!includes(str, ',')) return false;
1920
const pair = str.split(',');
2021
if ((pair[0].startsWith('(') && !pair[1].endsWith(')'))
2122
|| (pair[1].endsWith(')') && !pair[0].startsWith('('))) return false;

src/lib/isURL.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import assertString from './util/assertString';
22
import checkHost from './util/checkHost';
3+
import includes from './util/includesString';
34

45
import isFQDN from './isFQDN';
56
import isIP from './isIP';
@@ -53,11 +54,11 @@ export default function isURL(url, options) {
5354
return false;
5455
}
5556

56-
if (!options.allow_fragments && url.includes('#')) {
57+
if (!options.allow_fragments && includes(url, '#')) {
5758
return false;
5859
}
5960

60-
if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
61+
if (!options.allow_query_components && (includes(url, '?') || includes(url, '&'))) {
6162
return false;
6263
}
6364

File renamed without changes.

src/lib/util/includesString.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
const includes = (str, val) => str.indexOf(val) !== -1;
2+
3+
export default includes;

0 commit comments

Comments
 (0)