Buckets:
ktongue/docker_container / CAD_kevin /frontend /node_modules /yargs-parser /build /lib /tokenize-arg-string.js
| /** | |
| * @license | |
| * Copyright (c) 2016, Contributors | |
| * SPDX-License-Identifier: ISC | |
| */ | |
| // take an un-split argv string and tokenize it. | |
| export function tokenizeArgString(argString) { | |
| if (Array.isArray(argString)) { | |
| return argString.map(e => typeof e !== 'string' ? e + '' : e); | |
| } | |
| argString = argString.trim(); | |
| let i = 0; | |
| let prevC = null; | |
| let c = null; | |
| let opening = null; | |
| const args = []; | |
| for (let ii = 0; ii < argString.length; ii++) { | |
| prevC = c; | |
| c = argString.charAt(ii); | |
| // split on spaces unless we're in quotes. | |
| if (c === ' ' && !opening) { | |
| if (!(prevC === ' ')) { | |
| i++; | |
| } | |
| continue; | |
| } | |
| // don't split the string if we're in matching | |
| // opening or closing single and double quotes. | |
| if (c === opening) { | |
| opening = null; | |
| } | |
| else if ((c === "'" || c === '"') && !opening) { | |
| opening = c; | |
| } | |
| if (!args[i]) | |
| args[i] = ''; | |
| args[i] += c; | |
| } | |
| return args; | |
| } | |
Xet Storage Details
- Size:
- 1.09 kB
- Xet hash:
- 47954e7eff9440b0d1462d0f5ba1186732ce2a20b2bb9e583100f439ac682152
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.