mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-06-13 03:13:32 -07:00
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
const PASSWORD_STORE_ARG = '--password-store';
|
|
const DEFAULT_LINUX_PASSWORD_STORE = 'gnome-libsecret';
|
|
|
|
export function getPasswordStoreArg(argv: string[]): string | null {
|
|
let resolved: string | null = null;
|
|
for (let i = 0; i < argv.length; i += 1) {
|
|
const arg = argv[i];
|
|
if (!arg?.startsWith(PASSWORD_STORE_ARG)) {
|
|
continue;
|
|
}
|
|
|
|
if (arg === PASSWORD_STORE_ARG) {
|
|
const value = argv[i + 1];
|
|
const trimmed = value?.trim();
|
|
if (trimmed && !trimmed.startsWith('--')) {
|
|
resolved = trimmed;
|
|
i += 1;
|
|
}
|
|
continue;
|
|
}
|
|
|
|
const [prefix, value] = arg.split('=', 2);
|
|
if (prefix === PASSWORD_STORE_ARG && value && value.trim().length > 0) {
|
|
resolved = value.trim();
|
|
}
|
|
}
|
|
return resolved;
|
|
}
|
|
|
|
export function normalizePasswordStoreArg(value: string): string {
|
|
const normalized = value.trim();
|
|
if (normalized.toLowerCase() === 'gnome') {
|
|
return DEFAULT_LINUX_PASSWORD_STORE;
|
|
}
|
|
return normalized;
|
|
}
|
|
|
|
export function getDefaultPasswordStore(): string {
|
|
return DEFAULT_LINUX_PASSWORD_STORE;
|
|
}
|