Skip to content
forked from arecker/Daisy

A daisy-chainable JavaScript money calculator

License

Notifications You must be signed in to change notification settings

bignimbus/Daisy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A daisy-chainable JavaScript money calculator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%