UNPKG

@leofavre/memory-game-component

Version:

A memory game web component.

67 lines (50 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isGameOver = exports.isVisiblePairOfCardsAMatch = exports.isPairOfCardsVisible = exports.isCardInTheGame = exports.isCardMatched = exports.isCardRevealed = exports.getCardAtPosition = exports.getNumberOfCards = void 0; var getNumberOfCards = function getNumberOfCards(_ref) { var cards = _ref.cards; return cards.length * 2; }; exports.getNumberOfCards = getNumberOfCards; var getCardAtPosition = function getCardAtPosition(position, _ref2) { var cards = _ref2.cards; return cards.find(function (card) { return card.positions.includes(position); }); }; exports.getCardAtPosition = getCardAtPosition; var isCardRevealed = function isCardRevealed(position, _ref3) { var revealed = _ref3.revealed; return revealed.includes(position); }; exports.isCardRevealed = isCardRevealed; var isCardMatched = function isCardMatched(position, _ref4) { var matched = _ref4.matched; return matched.includes(position); }; exports.isCardMatched = isCardMatched; var isCardInTheGame = function isCardInTheGame(position, _ref5) { var revealed = _ref5.revealed, matched = _ref5.matched; return revealed.includes(position) || matched.includes(position); }; exports.isCardInTheGame = isCardInTheGame; var isPairOfCardsVisible = function isPairOfCardsVisible(_ref6) { var revealed = _ref6.revealed; return revealed.length === 2; }; exports.isPairOfCardsVisible = isPairOfCardsVisible; var isVisiblePairOfCardsAMatch = function isVisiblePairOfCardsAMatch(_ref7) { var revealed = _ref7.revealed, matched = _ref7.matched; return revealed.every(function (position) { return matched.includes(position); }); }; exports.isVisiblePairOfCardsAMatch = isVisiblePairOfCardsAMatch; var isGameOver = function isGameOver(state) { return getNumberOfCards(state) === state.matched.length; }; exports.isGameOver = isGameOver;