@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