How to use readline-sync - 10 common examples

To help you get started, we’ve selected a few readline-sync examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github fengari-lua / fengari / tests / manual-tests / lua-cli.js View on Github external
{
            let buffer = lua.to_luastring("return " + input);
            status = lauxlib.luaL_loadbuffer(L, buffer, buffer.length, stdin);
        }
        if (status !== lua.LUA_OK) {
            lua.lua_pop(L, 1);
            let buffer = lua.to_luastring(input);
            if (lauxlib.luaL_loadbuffer(L, buffer, buffer.length, stdin) === lua.LUA_OK) {
                status = lua.LUA_OK;
            }
        }
        while (status === lua.LUA_ERRSYNTAX && lua.lua_tojsstring(L, -1).endsWith("")) {
            /* continuation */
            lua.lua_pop(L, 1);
            lua.lua_getglobal(L, _PROMPT2);
            input += "\n" + readlineSync.prompt({
                prompt: lua.lua_tojsstring(L, -1) || '>> '
            });
            lua.lua_pop(L, 1);
            let buffer = lua.to_luastring(input);
            status = lauxlib.luaL_loadbuffer(L, buffer, buffer.length, stdin);
        }
        if (status === lua.LUA_OK) {
            status = docall(L, 0, lua.LUA_MULTRET);
        }
        if (status === lua.LUA_OK) {
            let n = lua.lua_gettop(L);
            if (n > 0) {  /* any result to be printed? */
                lua.lua_getglobal(L, lua.to_luastring("print"));
                lua.lua_insert(L, 1);
                if (lua.lua_pcall(L, n, 0, 0) != lua.LUA_OK) {
                    lauxlib.lua_writestringerror(`error calling 'print' (${lua.lua_tojsstring(L, -1)})\n`);
github DannyNemer / aang / test / updateTestSuite.js View on Github external
}

		// Hide the `topResult` action in action list (because this update does not overwrite `topResult`).
		delete actions.e
	}

	// Print prompt choices.
	util.log()
	for (var actionKey in actions) {
		util.log(actionKey, '-', actions[actionKey])
	}

	// Require user to input one of the specified action keys.
	var actionKeys = Object.keys(actions)
	var query = '(' + (testIndex + 1) + ' of ' + tests.length + ') Overwrite this test [' + actionKeys + ']? '
	var actionKey = readlineSync.keyIn(util.colors.bold.blue(query), {
		limit: actionKeys,
		caseSensitive: true,
	})

	switch (actionKey) {
		case 'y':
			// Overwrite this entire test.
			return true
		case 'e':
			// Restore original `topResult` in new test.
			util.log('Original `topResult` restored.')
			newTest.topResult = existingTest.topResult
			return true
		case 'n':
			// Skip this test.
			return false
github DinoChiesa / EdgeTools / baasLoadExport / deleteAllItems.js View on Github external
function main(args) {
  var collection, baasConn, opt = getopt.parse(args);
  try {
    baasConn = common.processOptions(opt);
    if (baasConn.collection) {
      console.log('using org:%s app:%s, delete all items from collection: %s\n',
                  baasConn.org, baasConn.app, baasConn.collection);
      console.log('** YOU WILL LOSE DATA.');
      if (!readlineSync.keyInYN('Are you sure? : ')) {
        // the user did not press Y
        console.log('abort.');
        process.exit();
      }
      common.logWrite('start');
      var startTime = new Date();
      common.usergridAuth(baasConn, function (e, ugClient) {
        if (e) {
          common.logWrite(JSON.stringify(e, null, 2) + '\n');
          process.exit(1);
        }
        common.ugCollectionForEach(ugClient,
                            { type:baasConn.collection, qs:{limit:pageSize} },
                            deleteOneEntity,
                            function(e) { allDone(e, startTime); });
      });
github DinoChiesa / EdgeTools / baasLoadExport / exportAllItems.js View on Github external
function main(args) {
  var collection, baasConn, opt = getopt.parse(args);
  try {
    baasConn = common.processOptions(opt, getopt);

    if (baasConn.collection && opt.options.file) {
      console.log('using org:%s app:%s, export all items from collection: %s to file %s\n',
                  baasConn.org, baasConn.app, baasConn.collection, opt.options.file);
      if (!readlineSync.keyInYN('Continue? : ')) {
        // the user did not press Y
        console.log('abort.');
        process.exit();
      }
      common.logWrite('start');
      var startTime = new Date();
      common.usergridAuth(baasConn, function (e, ugClient) {
        if (e) {
          common.logWrite(JSON.stringify(e, null, 2) + '\n');
          process.exit(1);
        }

        var writer = fs.createWriteStream(opt.options.file);
        var entityStorer = curry(storeOneEntity, writer);

        writer.write('[', null, function(e) {
github kuzzleio / kuzzle / bin / commands / resetSecurity.js View on Github external
function commandResetSecurity (options) {
  const
    cout = new ColorOutput(options);

  let userIsSure = false;

  console.log(cout.warn('[ℹ] You are about to clear all created users, profiles and roles.'));
  console.log(cout.warn('[ℹ] This operation cannot be undone.\n'));

  if (!params.noint) {
    userIsSure = readlineSync.question('[❓] Are you sure? If so, please type "I am sure": ') === 'I am sure';
  }
  else {
    // non-interactive mode
    userIsSure = true;
  }

  if (userIsSure) {
    console.log(cout.notice('[ℹ] Processing...\n'));
    const query = {
      controller: 'admin',
      action: 'resetSecurity'
    };

    return sendAction(query, options)
      .then(() => {
        console.log(cout.ok('[✔] Kuzzle users, profiles and roles have been successfully reset'));
github schemaio / schema-node-client / cli / commands.js View on Github external
if (fs.existsSync(infoPath)) {
    info = JSON.parse(fs.readFileSync(infoPath)) || {};
  } else {
    console.log('Creating ' + infoPath + ' -- please add it to .gitignore if applicable');
  }

  if (info.root !== root) {
    writeInfo(info, { root: root });
  }

  if (info.dir !== dirPath) {
    writeInfo(info, { dir: dirPath });
  }

  if (!info.clientId || resetAuth) {
    var clientId = readlineSync.question(
      'Enter your client ID: '
    );
    writeInfo(info, { clientId: clientId });
  }

  if (!info.secretKey || resetAuth) {
    var secretKey = readlineSync.question(
      'Enter your client secret key: ', {
        hideEchoBack: true
      }
    );
    // Encrypt key just in case it gets committed or shared
    writeInfo(info, { secretKey: encryptSecret(secretKey) });
  }

  resetAuth = false;
github evias / nem2-sandbox / src / commands / transaction / mosaicDefinition.ts View on Github external
async execute(options: CommandOptions) {
        await this.setupConfig();

        let divisibility = OptionsResolver(options, 'divisibility', () => { return ''; }, 'Enter a mosaic divisibility: ');
        divisibility = divisibility < 0 ? 0 : divisibility > 6 ? 6 : divisibility

        console.log('');
        const supplyMutable = readlineSync.keyInYN(
            'Should the mosaic supply be mutable? ');

        console.log('');
        const transferable = readlineSync.keyInYN(
            'Should the mosaic be transferable? ');

        console.log('');
        const restrictable = readlineSync.keyInYN(
            'Should the mosaic be restrictable? ');

        // add a block monitor
        this.monitorBlocks();

        const address = this.getAddress("tester1").plain();
        this.monitorAddress(address);

        return await this.createMosaic(divisibility, supplyMutable, transferable, restrictable);
    }
github digistump / OakCLI / oak.js View on Github external
function particleLogin() {
  clear();
  //prompt for user and password
  var userName = readlineSync.questionEMail('Particle Username/Email:');
  var password = readlineSync.question('Particle Password:', {
    hideEchoBack: true // The typed text on screen is hidden by `*` (default). 
  });
  console.log('Logging in to Particle...'.green);
  spark.login({username: userName.trim(), password: password.trim()},loginCallback);
}
github PolymathNetwork / polymath-core / CLI / commands / common / global.js View on Github external
hideEchoBack: true // The typed text on screen is hidden by `*` (default).
    });
    try {
      return web3.eth.accounts.decrypt(keyStore, password);
    } catch (error) {
      console.log(chalk.red('Could not decrypt your key store. Probably your password is wrong, please try again.'));
      return getAccount(filePath);
    }
  } else {
    let privKey = readlineSync.question('Enter your private key to generate your key store file: ', {
      hideEchoBack: true // The typed text on screen is hidden by `*` (default).
    });
    if (privKey.substr(0, 2) !== '0x') {
      privKey = '0x' + privKey;
    }
    const password = readlineSync.questionNewPassword(
      'Enter a password to encrypt your private key: ',
      { confirmMessage: 'Enter the same password to confirm: ', min: 6 }
    );
    const keyStore = web3.eth.accounts.encrypt(privKey, password);
    fs.writeFileSync(filePath, JSON.stringify(keyStore));
    return getAccount(filePath);
  }
}
github Azure-Samples / cognitive-services-personalizer-samples / quickstarts / node / sample.js View on Github external
function continueLoop() {
  var answer = readline.question("\nPress q to break, any other key to continue.\n")
  if (answer.toLowerCase() === 'q') {
    return false;
  }
  return true;
}
//