This is a fork of ember-cli-accounting which was a port of the great accounting.js library to ES6 modules that integrates seamlessly with ember-cli and the Fleetbase ecosystem.
Just add like any other ember-cli addon:
npm install @fleetbase/ember-accounting
Compatible with Ember version 4.0 and above
You no longer need to access the global accounting, you can import only what you need:
import formatMoney from '@fleetbase/ember-accounting/format-money'
Although you can import everything as expected:
import accounting from '@fleetbase/ember-accounting'
This addon also registers 2 handy helpers in your application: format-number
and format-money
.
You can set options using bound or unbound options like this:
Any option not set will have the usual default value:
You can use an initializer to set some default values at initializations and avoid having to repeat over and over the options in the helpers.
Use something like this:
// app/initializers/accounting.js
import { currency, number } from '@fleetbase/ember-accounting/settings';
export default {
name: 'accounting.js',
initialize: function() {
currency.symbol = "€";
number.decimal = ",";
number.thousand = ".";
}
};
Although this is almost a 1:1 port of accountant.js, there is a few differences:
- Each function of accountant.js lives in its own module, so you can only import those functions you want to use.
- Removed some polyfills for
Array.isArray
,Array.prototype.map
andObject.prototype.toString
. They are not required in modern browsers, and ember.js (unless you opt-out withEXTEND_PROTOTYPES = false
) already provides polyfills for those functions. - More tests than the original.
- Enforced jshint. Cleaner code.
This library does not make any change in the public api of accounting.js, so you can read the official documentation here