node_modules/es-abstract/2015/GetSubstitution.js in immosquare-cleaner-0.1.32 vs node_modules/es-abstract/2015/GetSubstitution.js in immosquare-cleaner-0.1.38
- old
+ new
@@ -1,11 +1,11 @@
'use strict';
var GetIntrinsic = require('get-intrinsic');
-var $TypeError = GetIntrinsic('%TypeError%');
+var $TypeError = require('es-errors/type');
var $parseInt = GetIntrinsic('%parseInt%');
var inspect = require('object-inspect');
var regexTester = require('safe-regex-test');
@@ -16,38 +16,37 @@
var $charAt = callBound('String.prototype.charAt');
var $strSlice = callBound('String.prototype.slice');
var IsArray = require('./IsArray');
-var Type = require('./Type');
var isInteger = require('../helpers/isInteger');
-var isStringOrHole = require('../helpers/isStringOrHole');
+var isStringOrUndefined = require('../helpers/isStringOrUndefined');
// https://262.ecma-international.org/6.0/#sec-getsubstitution
// eslint-disable-next-line max-statements, max-lines-per-function
module.exports = function GetSubstitution(matched, str, position, captures, replacement) {
- if (Type(matched) !== 'String') {
+ if (typeof matched !== 'string') {
throw new $TypeError('Assertion failed: `matched` must be a String');
}
var matchLength = matched.length;
- if (Type(str) !== 'String') {
+ if (typeof str !== 'string') {
throw new $TypeError('Assertion failed: `str` must be a String');
}
var stringLength = str.length;
if (!isInteger(position) || position < 0 || position > stringLength) {
throw new $TypeError('Assertion failed: `position` must be a nonnegative integer, and less than or equal to the length of `string`, got ' + inspect(position));
}
- if (!IsArray(captures) || !every(captures, isStringOrHole)) {
+ if (!IsArray(captures) || !every(captures, isStringOrUndefined)) {
throw new $TypeError('Assertion failed: `captures` must be a List of Strings, got ' + inspect(captures));
}
- if (Type(replacement) !== 'String') {
+ if (typeof replacement !== 'string') {
throw new $TypeError('Assertion failed: `replacement` must be a String');
}
var tailPos = position + matchLength;
var m = captures.length;
@@ -76,17 +75,17 @@
var nextNext = nextIsLast ? null : $charAt(replacement, i + 2);
if (isDigit(next) && next !== '0' && (nextIsLast || !isDigit(nextNext))) {
// $1 through $9, and not followed by a digit
var n = $parseInt(next, 10);
// if (n > m, impl-defined)
- result += n <= m && Type(captures[n - 1]) === 'Undefined' ? '' : captures[n - 1];
+ result += n <= m && typeof captures[n - 1] === 'undefined' ? '' : captures[n - 1];
i += 1;
} else if (isDigit(next) && (nextIsLast || isDigit(nextNext))) {
// $00 through $99
var nn = next + nextNext;
var nnI = $parseInt(nn, 10) - 1;
// if nn === '00' or nn > m, impl-defined
- result += nn <= m && Type(captures[nnI]) === 'Undefined' ? '' : captures[nnI];
+ result += nn <= m && typeof captures[nnI] === 'undefined' ? '' : captures[nnI];
i += 2;
} else {
result += '$';
}
}