.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / enquirer / lib / types / auth.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/enquirer/lib/types/auth.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/enquirer/lib/types/auth.js
new file mode 100644 (file)
index 0000000..c2c66fa
--- /dev/null
@@ -0,0 +1,29 @@
+'use strict';
+
+const FormPrompt = require('../prompts/form');
+
+const defaultAuthenticate = () => {
+  throw new Error('expected prompt to have a custom authenticate method');
+};
+
+const factory = (authenticate = defaultAuthenticate) => {
+
+  class AuthPrompt extends FormPrompt {
+    constructor(options) {
+      super(options);
+    }
+
+    async submit() {
+      this.value = await authenticate.call(this, this.values, this.state);
+      super.base.submit.call(this);
+    }
+
+    static create(authenticate) {
+      return factory(authenticate);
+    }
+  }
+
+  return AuthPrompt;
+};
+
+module.exports = factory();