Skip to content

arecker/Daisy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Built with Grunt Build Status Coverage Status License

Computations

Daisy can run chainable calculations

var tax = '3.00',
	price = 23,
	discount = 4,
	total = daisy(price).plus(tax).equals(), // '26.00'
	totalAfterDiscount = daisy(total).minus(discount).equals(); // '22.00'

Daisy can handle number sets too

var payments = [ 4.00, 2.0, 2.3, 6.0 ],
	processingFee = '1',
	revenue = daisy(payments).sum().minus(processingFee).equals(), // '13.30'
	averagePayment = daisy(payments).average().equals(), // 3.58
	maxPayment = daisy(payments).max().equals(), // '6.00'
	halfOfMax = daisy(payments).max().dividedBy(2).equals(); // '3.00'

Options

Daisy's behavior can be configured

var answer = daisy(3, {
	supressDivideByZero: true
}).dividedBy(0).equals(); // '0.00'

var total = daisy(3, {
	printDollarSign: true
}).plus(1).equals(); // '$4.00'

var riskyAnswer = daisy('MEH', {
	supressInvalidNumbers: true
}).minus('3').equals(); // '-3.00'

Contributing

To build the project, install dependencies by running npm install, and run tests manually with grunt or continually by running grunt watch. If a change to daisy's source is made, please rebuild the minified source with grunt build.

To run benchmarks, cd to Daisy's root directory and run node ./test/benchmarks.js