(argv: string[])
| 118 | } |
| 119 | |
| 120 | function parseArgs(argv: string[]) { |
| 121 | const parsed = { |
| 122 | email: "", |
| 123 | workspaceID: "", |
| 124 | workspaceName: "", |
| 125 | keyName: "", |
| 126 | balanceDollars: 100, |
| 127 | allowProduction: false, |
| 128 | } |
| 129 | for (let index = 0; index < argv.length; index++) { |
| 130 | const arg = argv[index] |
| 131 | if (arg === "--email") parsed.email = requiredValue(argv, ++index, arg) |
| 132 | if (arg === "--workspace-id") parsed.workspaceID = requiredValue(argv, ++index, arg) |
| 133 | if (arg === "--workspace-name") parsed.workspaceName = requiredValue(argv, ++index, arg) |
| 134 | if (arg === "--key-name") parsed.keyName = requiredValue(argv, ++index, arg) |
| 135 | if (arg === "--balance-dollars") parsed.balanceDollars = Number(requiredValue(argv, ++index, arg)) |
| 136 | if (arg === "--allow-production") parsed.allowProduction = true |
| 137 | } |
| 138 | if (!Number.isFinite(parsed.balanceDollars) || parsed.balanceDollars < 0) throw new Error("Invalid --balance-dollars") |
| 139 | return parsed |
| 140 | } |
| 141 | |
| 142 | function requiredValue(argv: string[], index: number, arg: string) { |
| 143 | const value = argv[index] |
no test coverage detected