usn
Version:
Command line tool and library for working with USN data
1 lines • 3.56 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_regenerator=_interopRequireDefault(require("@babel/runtime/regenerator")),_asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")),_toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));require("dotenv").config();var _require=require("figures"),cross=_require.cross,_require2=require("chalk"),bold=_require2.bold,cyan=_require2.cyan,_require3=require("tomo-cli"),format=_require3.format,_require4=require("./utils/common.js"),dict=_require4.dict,getCurrentYear=_require4.getCurrentYear,_require5=require("./utils/data.js"),_populate=_require5.populate,_update=_require5.update,getAction=function(command,flags,defaultAction){var id=flags.id,key=flags.key,type=flags.type,verbose=flags.verbose,year=flags.year,years=(0,_toConsumableArray2["default"])(new Set(year.split(","))).sort(),lookup=dict({populate:function(){var _populate2=(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(){return _regenerator["default"].wrap(function(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,_populate(type,years,{id:id,key:key});case 2:case"end":return _context.stop();}},_callee)}));return function populate(){return _populate2.apply(this,arguments)}}(),update:function(){var _update2=(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(){var results;return _regenerator["default"].wrap(function(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.next=2,_update(type,{id:id,key:key,verbose:verbose});case 2:results=_context2.sent,0<results.objectIDs.length&&process.stdout.write(format(results));case 4:case"end":return _context2.stop();}},_callee2)}));return function update(){return _update2.apply(this,arguments)}}(),info:function(){var _info=(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(){return _regenerator["default"].wrap(function(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:/* eslint-disable no-console */console.log("\n ".concat(bold("ID")," = "),id),console.log(" ".concat(bold("Key")," = "),key);case 2:case"end":return _context3.stop();}},_callee3)}));return function info(){return _info.apply(this,arguments)}}()/* eslint-enable no-console */});return lookup.has(command)?lookup.get(command):function noCommand(stdin){if("string"==typeof command){var message="\n".concat(bold.red(cross)," \"").concat(command,"\" is not a known command...Please read the help below.\n");process.stderr.write(message),defaultAction()}else process.stdout.write("STDIN: ".concat(stdin))}},help="\n ".concat(bold.bgBlue.white(" Navy Search "),"\n \n ").concat(cyan("\"Search for those that ".concat(bold("serve"),"\"")),"\n\n ").concat(bold.dim("Usage"),"\n\n ./usn.exe [commands] [options]\n\n\n ").concat(bold.dim("Commands"),"\n\n populate, update, version\n\n"),options={help:help,flags:{help:{type:"boolean",default:!1,alias:"h"},version:{type:"boolean",default:!1,alias:"v"},verbose:{type:"boolean",default:!1,alias:"V"},type:{type:"string",default:"NAVADMIN",alias:"t"},year:{type:"string",default:getCurrentYear()+"",alias:"y"},id:{type:"string",default:process.env.ALGOLIA_APP_ID||bold.red("not set")},key:{type:"string",default:process.env.ALGOLIA_ADMIN_API_KEY||bold.red("not set")}}};module.exports={getAction:getAction,options:options};