{"version":3,"sources":["jsdelivr-header.js","/npm/2048-terminal@1.0.4/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ACLA,MAAM,OAAS,QAAQ,UACjB,SAAW,QAAQ,aACnB,UAAE,UAAS,YAAE,YAAW,WAAE,YAAe,QAAQ,iBACjD,MAAQ,QAAQ,sBAEhB,UAAa,IAEjB,MACM,EAAc,IAClB,EAAM,KAAK,EAAU,EA6BjB,EAAQ,IAAI,MAAM,EAAO,QAf7B,SAAS,QAAQ,OAEjB,QAAQ,MAAM,GAAG,YAAY,CAAC,EAAI,KAChC,GAAiB,MAAb,EAAI,MAAgB,EAAI,KAAM,OAAO,QAAQ,KAAK,GACrC,MAAb,EAAI,MAA6B,OAAb,EAAI,MAAe,EAAW,UAAU,IAC/C,MAAb,EAAI,MAA6B,SAAb,EAAI,MAAiB,EAAW,UAAU,MACjD,MAAb,EAAI,MAA6B,SAAb,EAAI,MAAiB,EAAW,UAAU,MACjD,MAAb,EAAI,MAA6B,UAAb,EAAI,MAAkB,EAAW,UAAU,OAClD,MAAb,EAAI,MAxBU,EAAM,SAwBO,IAGjC,QAAQ,MAAM,YAAW,GACzB,QAAQ,MAAM,SArBd,OAAO,OAAM,GACb,OAAO,QAAO,GACd,2CAA2C,MAAM,KAAK,SAAQ,SAAS,EAAO,GAC5E,OAAO,MAAM,SAAS,EAAG,aAAa,EACxC,IACA,EAAM,MAqBF,EAIR,UAAU","file":"/npm/2048-terminal@1.0.4/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/2048-terminal@1.0.4/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#!/usr/bin/env node\nconst clivas = require('clivas');\nconst keypress = require('keypress');\nconst { Direction, BoardNumber, GameStatus } = require('./utils/types');\nconst Board = require('./components/Board');\n\nconst startGame = (level) => {\n  \n  const restart = () => board.restart();\n  const handleMove = (direction) => {\n    board.move(direction);\n    // if (board.gameStatus === GameStatus.WON) return process.exit(0);\n  }\n\n  const draw = () => {\n    clivas.flush(false);\n    clivas.cursor(false);\n    'white blue green yellow magenta red cyan'.split(' ').forEach(function(color, i) {\n      clivas.alias('color-'+i, '2+inverse+'+color);\n    });\n    board.draw();\n  }\n\n  const handleKeyPress = () => {\n    keypress(process.stdin);\n\n    process.stdin.on(\"keypress\", (ch, key) => {\n      if (key.name === 'c' && key.ctrl) return process.exit(0);\n      if (key.name === 'w' || key.name === 'up') handleMove(Direction.UP);\n      if (key.name === 'a' || key.name === 'left') handleMove(Direction.LEFT);\n      if (key.name === 's' || key.name === 'down') handleMove(Direction.DOWN);\n      if (key.name === 'd' || key.name === 'right') handleMove(Direction.RIGHT);\n      if (key.name === 'r') restart();\n    })  \n    \n    process.stdin.setRawMode(true);\n    process.stdin.resume();\n  }\n\n  const board = new Board(level, clivas);\n  handleKeyPress();\n  draw();\n}\n\n\nstartGame(4);"]}