You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					53 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					53 lines
				
				1.5 KiB
			| 
											3 years ago
										 | var baseToString = require('./_baseToString'), | ||
|  |     castSlice = require('./_castSlice'), | ||
|  |     hasUnicode = require('./_hasUnicode'), | ||
|  |     isIterateeCall = require('./_isIterateeCall'), | ||
|  |     isRegExp = require('./isRegExp'), | ||
|  |     stringToArray = require('./_stringToArray'), | ||
|  |     toString = require('./toString'); | ||
|  | 
 | ||
|  | /** Used as references for the maximum length and index of an array. */ | ||
|  | var MAX_ARRAY_LENGTH = 4294967295; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Splits `string` by `separator`. | ||
|  |  * | ||
|  |  * **Note:** This method is based on | ||
|  |  * [`String#split`](https://mdn.io/String/split).
 | ||
|  |  * | ||
|  |  * @static | ||
|  |  * @memberOf _ | ||
|  |  * @since 4.0.0 | ||
|  |  * @category String | ||
|  |  * @param {string} [string=''] The string to split. | ||
|  |  * @param {RegExp|string} separator The separator pattern to split by. | ||
|  |  * @param {number} [limit] The length to truncate results to. | ||
|  |  * @returns {Array} Returns the string segments. | ||
|  |  * @example | ||
|  |  * | ||
|  |  * _.split('a-b-c', '-', 2); | ||
|  |  * // => ['a', 'b']
 | ||
|  |  */ | ||
|  | function split(string, separator, limit) { | ||
|  |   if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { | ||
|  |     separator = limit = undefined; | ||
|  |   } | ||
|  |   limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; | ||
|  |   if (!limit) { | ||
|  |     return []; | ||
|  |   } | ||
|  |   string = toString(string); | ||
|  |   if (string && ( | ||
|  |         typeof separator == 'string' || | ||
|  |         (separator != null && !isRegExp(separator)) | ||
|  |       )) { | ||
|  |     separator = baseToString(separator); | ||
|  |     if (!separator && hasUnicode(string)) { | ||
|  |       return castSlice(stringToArray(string), 0, limit); | ||
|  |     } | ||
|  |   } | ||
|  |   return string.split(separator, limit); | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = split; |