Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 2.07 KB

README.md

File metadata and controls

64 lines (47 loc) · 2.07 KB

Daisy

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, { 
	format: "$n.nn"
}).plus(1).equals(); // '$4.00'

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

var roundReallyHigh = daisy(123456789, {
	format: "n00000000",
	round: "up"
}).equals(); // '200000000'

var commaFormatting = daisy(12345, {
	commas: true,
}).equals(); // '12,345.00'

var internationalSupport = daisy(1234567, {
	commas: true,
	INR: true
}).equals(); // '12,34,567.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