A robust card-dealing JavaScript Class written in TypeScript
- Use any card deck with the
Dealer
class - Shuffle deck into a random order
- Draw cards for use
- Discard cards without revealing them
- Cut the deck
- Included Decks
- Standard 52 Playing Cards
- Uno
$ npm install card-dealer --save
$ yarn add card-dealer
import { Dealer, standardDeck } from "card-dealer";
const dealer = new Dealer(standardDeck);
const Dealer = require("card-dealer/dealer");
const standardDeck = require("card-dealer/decks/standard");
const dealer = new cardDealer.Dealer(standardDeck);
Dealer()
takes a deck of cards to use for a game & places it on the draw pile.
const dealer = new Dealer(standardDeck);
Randomizes the dealer's draw pile order using the Fisher-Yates shuffle algorithm.
dealer.shuffle(); // Deck is now randomized
Cuts the deck at the specified position in the deck, moving the bottom half to the top of the draw pile. If no value is passed to the method, Dealer will place the top card at the bottom of the deck.
// Top card is now placed at the bottom of the deck
dealer.cut();
// Top 13 cards are now placed at the bottom of the deck
dealer.cut(13);
Returns the number of cards requested from the draw pile for use in the game. If no value is passed to the method, Dealer will draw one card.
// Returns the top card from the deck
dealer.draw();
// Returns the top 5 cards from the deck
dealer.draw(5);
Moves the number of cards specified from the draw pile to the discard pile without revealing the value to the game. If no value is passed to the method, Dealer will discard only the top card in the pile.
// The first card in the draw pile is discarded
dealer.discard();
// The first 3 cards in the draw pile are discarded
dealer.discard(3);
Resets the draw & discard piles to the default deck position.
dealer.reset();
Returns a count for the remaining cards in the draw pile.
dealer.remainingCards();
Card-dealer is offered under the MIT license.