GoScrobble/web/node_modules/enquirer/lib/prompts/basicauth.js

42 lines
966 B
JavaScript
Raw Permalink Normal View History

2022-04-25 02:47:15 +00:00
'use strict';
const AuthPrompt = require('../types/auth');
function defaultAuthenticate(value, state) {
if (value.username === this.options.username && value.password === this.options.password) {
return true;
}
return false;
}
const factory = (authenticate = defaultAuthenticate) => {
const choices = [
{ name: 'username', message: 'username' },
{
name: 'password',
message: 'password',
format(input) {
if (this.options.showPassword) {
return input;
}
let color = this.state.submitted ? this.styles.primary : this.styles.muted;
return color(this.symbols.asterisk.repeat(input.length));
}
}
];
class BasicAuthPrompt extends AuthPrompt.create(authenticate) {
constructor(options) {
super({ ...options, choices });
}
static create(authenticate) {
return factory(authenticate);
}
}
return BasicAuthPrompt;
};
module.exports = factory();