mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-05 01:17:50 +00:00
Continue astral symbol support in _.trunc.
This commit is contained in:
17
lodash.js
17
lodash.js
@@ -11102,25 +11102,34 @@
|
|||||||
omission = 'omission' in options ? baseToString(options.omission) : omission;
|
omission = 'omission' in options ? baseToString(options.omission) : omission;
|
||||||
}
|
}
|
||||||
string = baseToString(string);
|
string = baseToString(string);
|
||||||
if (length >= stringSize(string)) {
|
|
||||||
|
var strLength = string.length;
|
||||||
|
if (reStrSurrogate.test(string)) {
|
||||||
|
var strSymbols = stringToArray(string);
|
||||||
|
strLength = strSymbols.length;
|
||||||
|
}
|
||||||
|
if (length >= strLength) {
|
||||||
return string;
|
return string;
|
||||||
}
|
}
|
||||||
var end = length - stringSize(omission);
|
var end = length - stringSize(omission);
|
||||||
if (end < 1) {
|
if (end < 1) {
|
||||||
return omission;
|
return omission;
|
||||||
}
|
}
|
||||||
var result = reStrSurrogate.test(string)
|
var result = strSymbols
|
||||||
? stringToArray(string).slice(0, end).join('')
|
? strSymbols.slice(0, end).join('')
|
||||||
: string.slice(0, end);
|
: string.slice(0, end);
|
||||||
|
|
||||||
if (separator === undefined) {
|
if (separator === undefined) {
|
||||||
return result + omission;
|
return result + omission;
|
||||||
}
|
}
|
||||||
|
if (strSymbols) {
|
||||||
|
end += (result.length - end);
|
||||||
|
}
|
||||||
if (isRegExp(separator)) {
|
if (isRegExp(separator)) {
|
||||||
if (string.slice(end).search(separator)) {
|
if (string.slice(end).search(separator)) {
|
||||||
var match,
|
var match,
|
||||||
newEnd,
|
newEnd,
|
||||||
substring = string.slice(0, end);
|
substring = result;
|
||||||
|
|
||||||
if (!separator.global) {
|
if (!separator.global) {
|
||||||
separator = RegExp(separator.source, (reFlags.exec(separator) || '') + 'g');
|
separator = RegExp(separator.source, (reFlags.exec(separator) || '') + 'g');
|
||||||
|
|||||||
Reference in New Issue
Block a user