Stateless Tic Tac Toe engine. Given a position the engine will give next best move, winner given perfect play, and the number of moves left with perfect play.
Tic Tac Toe AI Engine in Runkit
var ticTacToeAiEngine = require("tic-tac-toe-ai-engine");
var gameState = ['X', '', '', 'O', '', '', 'X', 'O', ''];
console.log(ticTacToeAiEngine.computeMove(gameState));
/*
Output:
{ winner: 'X',
depth: 3,
nextBestGameState: [ 'X', '', 'X', 'O', '', '', 'X', 'O', '' ] }
*/