add hw2
This commit is contained in:
		
							
								
								
									
										65
									
								
								node_modules/yargs-parser/build/lib/string-utils.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								node_modules/yargs-parser/build/lib/string-utils.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,65 @@ | ||||
| /** | ||||
|  * @license | ||||
|  * Copyright (c) 2016, Contributors | ||||
|  * SPDX-License-Identifier: ISC | ||||
|  */ | ||||
| export function camelCase(str) { | ||||
|     // Handle the case where an argument is provided as camel case, e.g., fooBar. | ||||
|     // by ensuring that the string isn't already mixed case: | ||||
|     const isCamelCase = str !== str.toLowerCase() && str !== str.toUpperCase(); | ||||
|     if (!isCamelCase) { | ||||
|         str = str.toLowerCase(); | ||||
|     } | ||||
|     if (str.indexOf('-') === -1 && str.indexOf('_') === -1) { | ||||
|         return str; | ||||
|     } | ||||
|     else { | ||||
|         let camelcase = ''; | ||||
|         let nextChrUpper = false; | ||||
|         const leadingHyphens = str.match(/^-+/); | ||||
|         for (let i = leadingHyphens ? leadingHyphens[0].length : 0; i < str.length; i++) { | ||||
|             let chr = str.charAt(i); | ||||
|             if (nextChrUpper) { | ||||
|                 nextChrUpper = false; | ||||
|                 chr = chr.toUpperCase(); | ||||
|             } | ||||
|             if (i !== 0 && (chr === '-' || chr === '_')) { | ||||
|                 nextChrUpper = true; | ||||
|             } | ||||
|             else if (chr !== '-' && chr !== '_') { | ||||
|                 camelcase += chr; | ||||
|             } | ||||
|         } | ||||
|         return camelcase; | ||||
|     } | ||||
| } | ||||
| export function decamelize(str, joinString) { | ||||
|     const lowercase = str.toLowerCase(); | ||||
|     joinString = joinString || '-'; | ||||
|     let notCamelcase = ''; | ||||
|     for (let i = 0; i < str.length; i++) { | ||||
|         const chrLower = lowercase.charAt(i); | ||||
|         const chrString = str.charAt(i); | ||||
|         if (chrLower !== chrString && i > 0) { | ||||
|             notCamelcase += `${joinString}${lowercase.charAt(i)}`; | ||||
|         } | ||||
|         else { | ||||
|             notCamelcase += chrString; | ||||
|         } | ||||
|     } | ||||
|     return notCamelcase; | ||||
| } | ||||
| export function looksLikeNumber(x) { | ||||
|     if (x === null || x === undefined) | ||||
|         return false; | ||||
|     // if loaded from config, may already be a number. | ||||
|     if (typeof x === 'number') | ||||
|         return true; | ||||
|     // hexadecimal. | ||||
|     if (/^0x[0-9a-f]+$/i.test(x)) | ||||
|         return true; | ||||
|     // don't treat 0123 as a number; as it drops the leading '0'. | ||||
|     if (/^0[^.]/.test(x)) | ||||
|         return false; | ||||
|     return /^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 nik
					nik