node package manager

@mitchallen/playing-card-suit

@mitchallen/playing-card-suit

An enum-like object for representing the suits in a playing card deck.


Installation

You must use npm 2.7.0 or higher because of the scoped package name.

$ npm init
$ npm install @mitchallen/playing-card-suit --save

Usage

This module returns an object that has four frozen and unique properties that can be used to represent playing card suits:

  • HEART
  • DIAMOND
  • SPADE
  • CLUB

You can use them to define the suit of each card in a deck.

var SUIT = require("@mitchallen/playing-card-suit");

card[0].suit = SUIT.HEART;
card[1].suit = SUIT.DIAMOND;
card[2].suit = SUIT.SPADE;
card[3].suit = SUIT.CLUB;

.isSuit(value)

You can test if a value is a valid suit by passing it to the isSuit method:

if( SUIT.isSuit(card.suit) ) { ... }

.isRed(value)

You can test if a value is a red playing card (HEART or DIAMOND) by passing it to the isRed method:

if( SUIT.isRed(card.suit) ) { ... }

.isBlack(value)

You can test if a value is a black playing card (SPADE or CLUB) by passing it to the isBlack method:

if( SUIT.isBlack(card.suit) ) { ... }

.isFirst(value)

For looping you can test to see if a suit is the first in the list:

while( ! SUIT.isFirst(card.suit) ) { ... }

.isLast(value)

For looping you can test to see if a suit is the last in the list:

while( ! SUIT.isLast(card.suit) ) { ... }

.first

For looping you can retrieve the first (lowest) value for the suits in the list.

for( i = SUIT.first; ... ) { ... }

For looping you can retrieve the last (higheet) value for the suits in the list.

for( i = SUIT.first; i <= SUIT.last, i++ ) { ... }

Testing

To test, go to the root folder and type (sans $):

$ npm test

Repo(s)


Contributing

In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.


Version History

Version 0.1.5

  • added first and last parameters
  • added isFirst and isLast methods

Version 0.1.4

  • added isRed method
  • added isBlack method

Version 0.1.3

  • added isSuit method

Version 0.1.2

  • fixed type-o in readme instruction

Version 0.1.1

  • added description to package.json

Version 0.1.0

  • initial release