diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:26:46 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:43:56 -0700 |
| commit | e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch) | |
| tree | 06284a538a6008eca75051399e47db4e5d50301c /node_modules/concurrently/dist/src/command-parser/expand-arguments.js | |
initial commit: scaffolding
Diffstat (limited to 'node_modules/concurrently/dist/src/command-parser/expand-arguments.js')
| -rw-r--r-- | node_modules/concurrently/dist/src/command-parser/expand-arguments.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/concurrently/dist/src/command-parser/expand-arguments.js b/node_modules/concurrently/dist/src/command-parser/expand-arguments.js new file mode 100644 index 0000000..42c087c --- /dev/null +++ b/node_modules/concurrently/dist/src/command-parser/expand-arguments.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExpandArguments = void 0; +const shell_quote_1 = require("shell-quote"); +/** + * Replace placeholders with additional arguments. + */ +class ExpandArguments { + constructor(additionalArguments) { + this.additionalArguments = additionalArguments; + } + parse(commandInfo) { + const command = commandInfo.command.replace(/\\?\{([@*]|[1-9][0-9]*)\}/g, (match, placeholderTarget) => { + // Don't replace the placeholder if it is escaped by a backslash. + if (match.startsWith('\\')) { + return match.slice(1); + } + // Replace numeric placeholder if value exists in additional arguments. + if (!isNaN(placeholderTarget) && + placeholderTarget <= this.additionalArguments.length) { + return (0, shell_quote_1.quote)([this.additionalArguments[placeholderTarget - 1]]); + } + // Replace all arguments placeholder. + if (placeholderTarget === '@') { + return (0, shell_quote_1.quote)(this.additionalArguments); + } + // Replace combined arguments placeholder. + if (placeholderTarget === '*') { + return (0, shell_quote_1.quote)([this.additionalArguments.join(' ')]); + } + // Replace placeholder with empty string + // if value doesn't exist in additional arguments. + return ''; + }); + return { ...commandInfo, command }; + } +} +exports.ExpandArguments = ExpandArguments; |
