url: replaced slice with at · nodejs/node@8b29bbc
@@ -22,10 +22,12 @@
2222'use strict';
23232424const {
25+ ArrayPrototypeJoin,
2526 Boolean,
2627 Int8Array,
2728 ObjectAssign,
2829 ObjectKeys,
30+ StringPrototypeAt,
2931 StringPrototypeCharCodeAt,
3032 StringPrototypeIndexOf,
3133 StringPrototypeReplaceAll,
@@ -923,7 +925,7 @@ Url.prototype.resolveObject = function resolveObject(relative) {
923925// If a url ENDs in . or .., then it must get a trailing slash.
924926// however, if it ends in anything else non-slashy,
925927// then it must NOT get a trailing slash.
926-let last = srcPath.slice(-1)[0];
928+let last = srcPath[srcPath.length - 1];
927929const hasTrailingSlash = (
928930((result.host || relative.host || srcPath.length > 1) &&
929931(last === '.' || last === '..')) || last === '');
@@ -956,7 +958,7 @@ Url.prototype.resolveObject = function resolveObject(relative) {
956958srcPath.unshift('');
957959}
958960959-if (hasTrailingSlash && (srcPath.join('/').slice(-1) !== '/')) {
961+if (hasTrailingSlash && StringPrototypeAt(ArrayPrototypeJoin(srcPath, '/'), -1) !== '/') {
960962srcPath.push('');
961963}
962964