JSPM

ember-magnitude-helpers

2.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 24
  • Score
    100M100P100Q53496F
  • License MIT

A set of ember helpers related to the orders of magnitude of numbers

Package Exports

  • ember-magnitude-helpers
  • ember-magnitude-helpers/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ember-magnitude-helpers) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ember-magnitude-helpers

Latest NPM release Build Status Code Climate Ember Observer Score

Want to convert a quantity like 5000981077504 bytes to 5.0TB or 4.55 TiB in your Ember.js app? This addon provides the following helpers:

Compatibility

(according to the default blueprint at least)

  • Ember.js v3.24 or above
  • Ember CLI v3.24 or above
  • Node.js v12 or above

Installation

ember install ember-magnitude-helpers

Usage

mg-prefix

Pass a number as the first parameter, optionally followed any/all of the following named parameters:

  • precision: round to this many digits (default = 3)
  • type: 'si' for base 1000, 'iec' for base 1024 (default = 'si')
  • unit: arbitrary string (default = '')
  • useName: false for abbrevation (e.g. 'G'), true for name (e.g. 'giga') (default = false)

Examples:

{{mg-prefix 123456}} => '123 k'
{{mg-prefix 1024 type="si" unit="bytes"}} => '1.02 kbytes'
{{mg-prefix 2e6 precision=1 type="iec" unit="B"}} => '2 MiB'
{{mg-prefix 1e12 unit="flops" useName=true}} => '1.00 teraflops'

You can also import this helper into JS like this:

// some-component.js
import { tracked } from '@glimmer/tracking';
import Component from '@glimmer/component';
import { mgPrefix }  from 'ember-magnitude-helpers/helpers/mg-prefix';

export default class SomeComponent extends Component {
  @tracked bytes = 1234567890;

  get humanSize() {
    // returns "1.15 GiB"
    return mgPrefix([this.bytes], {
      unit: 'B',
      type: 'iec',
    });
  }
}

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.