summaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/init/state_machine.js
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/init/state_machine.js')
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/init/state_machine.js141
1 files changed, 0 insertions, 141 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/init/state_machine.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/init/state_machine.js
deleted file mode 100644
index 3761a65d..00000000
--- a/vnfmarket/src/main/webapp/vnfmarket/node_modules/karma/lib/init/state_machine.js
+++ /dev/null
@@ -1,141 +0,0 @@
-var util = require('util')
-var EventEmitter = require('events').EventEmitter
-
-var StateMachine = function (rli, colors) {
- var questions
- var currentQuestion
- var answers
- var currentOptions
- var currentOptionsPointer
- var currentQuestionId
- var done
-
- EventEmitter.call(this)
-
- var showPrompt = function () {
- rli.write(colors.ANSWER)
- rli.prompt()
- }
-
- this.onKeypress = function (key) {
- if (!currentOptions || !key) {
- return
- }
-
- if (key.name === 'tab' || key.name === 'right' || key.name === 'down') {
- this.suggestNextOption()
- } else if (key.name === 'left' || key.name === 'up') {
- currentOptionsPointer = currentOptionsPointer + currentOptions.length - 2
- this.suggestNextOption()
- }
-
- if (!key.ctrl && !key.meta && key.name !== 'enter' && key.name !== 'return') {
- key.name = 'escape'
- }
- }
-
- this.suggestNextOption = function () {
- if (!currentOptions) {
- return
- }
-
- currentOptionsPointer = (currentOptionsPointer + 1) % currentOptions.length
- rli._deleteLineLeft()
- rli._deleteLineRight()
- rli.write(currentOptions[currentOptionsPointer])
- }
-
- this.kill = function () {
- currentOptions = null
- currentQuestionId = null
- rli.write('\n' + colors.RESET + '\n')
- rli.close()
- }
-
- this.onLine = function (line) {
- if (currentQuestionId) {
- rli.write(colors.RESET)
- line = line.trim().replace(colors.ANSWER, '').replace(colors.RESET, '')
-
- if (currentOptions) {
- currentOptionsPointer = currentOptions.indexOf(line)
- if (currentOptionsPointer === -1) {
- return
- }
- }
-
- if (line === '') {
- line = null
- }
-
- if (currentQuestion.boolean) {
- line = (line === 'yes' || line === 'true' || line === 'on')
- }
-
- if (line !== null && currentQuestion.validate) {
- currentQuestion.validate(line)
- }
-
- if (currentQuestion.multiple) {
- answers[currentQuestionId] = answers[currentQuestionId] || []
- if (line !== null) {
- answers[currentQuestionId].push(line)
- showPrompt()
-
- if (currentOptions) {
- currentOptions.splice(currentOptionsPointer, 1)
- currentOptionsPointer = -1
- }
- } else {
- this.nextQuestion()
- }
- } else {
- answers[currentQuestionId] = line
- this.nextQuestion()
- }
- }
- }
-
- this.nextQuestion = function () {
- currentQuestion = questions.shift()
-
- while (currentQuestion && currentQuestion.condition && !currentQuestion.condition(answers)) {
- currentQuestion = questions.shift()
- }
-
- this.emit('next_question', currentQuestion)
-
- if (currentQuestion) {
- currentQuestionId = null
-
- rli.write('\n' + colors.question(currentQuestion.question) + '\n')
- rli.write(currentQuestion.hint + '\n')
- showPrompt()
-
- currentOptions = currentQuestion.options || null
- currentOptionsPointer = -1
- currentQuestionId = currentQuestion.id
-
- this.suggestNextOption()
- } else {
- currentQuestionId = null
- currentOptions = null
-
- // end
- this.kill()
- done(answers)
- }
- }
-
- this.process = function (_questions, _done) {
- questions = _questions
- answers = {}
- done = _done
-
- this.nextQuestion()
- }
-}
-
-util.inherits(StateMachine, EventEmitter)
-
-module.exports = StateMachine