1.3.2 • Published 9 months ago

adnot-beport-large v1.3.2

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

AD Notations for break_eternity (beyond e9e15)

All the notations that are included in the current version of Antimatter Dimensions break_eternity port (by Hexa).

Setup

CDN

The simplest way to use this package is to include these scripts in your HTML page:

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/break_eternity.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@antimatter-dimensions/notations"></script>

You can also grab specific versions here:

npm

npm install @antimatter-dimensions/notations

There is no default export. The correct way to import notations is:

import * as ADBNotations from "@antimatter-dimensions/notations";

Use

All the notations are included inside ADBNotations object:

const scientific = new ADBNotations.ExtendedScientificNotation();

The main method that notations provide is format(value, places)

  • value can be Decimal, number or string which you want to format
  • places is used to format mantissa when number is greater than 1000

You can configure some formatting aspects via ADBNotations.Settings object

const scientific = new ADBNotations.ScientificNotation();

// Outputs "F2E5"
console.log(scientific.format("1ee100000", 2));

// Outputs "F3E5"
ADBNotations.Settings.exponentCommas.show = false;
console.log(scientific.format("1eee100000", 2));

// Outputs "Infinite"
ADBNotations.Settings.isInfinite = decimal => decimal.gte(1e100);
console.log(scientific.format(1e101, 2, 2));

Configuration settings:

  • Settings.isInfinite - function that determines if a Decimal value is infinite (default is decimal => decimal.gte(Decimal.tetrate(10, 1e16)))
  • Settings.numCommas - lower bound for numbers to be formatted with commas (default is 100000)

Extend

Creating your own notations is very simple! Just extend base class Notation and implement the required methods get name() and formatDecimal:

class SimpleNotation extends ADBNotations.Notation {
  get name() {
    return "Simple";
  }

  formatDecimal(value, places) {
    return `Layer: ${value.layer.toFixed(places)}, Exponent: ${value.exponent}`;
  }
}

Build

First, clone the repo

git clone https://github.com/antimatter-dimensions/notations.git
cd notations

Then install npm dependencies

npm install

And then run build command which will build all packs to the dist directory and to the docs directory.

npm run build

To build the AD pack or community pack separately, use build:ad or build:community command.

Contributing

  1. Be reasonable when commiting something.
  2. Be original when making a new notation.

Acknowledgements

Thanks to Omsi for the scaffolding of docs page. Thanks to the original notation code for the pre e9e15 code, and for making this possible.

1.3.2

9 months ago

1.3.1

9 months ago

1.3.0

9 months ago

1.2.3

11 months ago

1.2.2

11 months ago

1.2.1

12 months ago

1.2.0

12 months ago

1.1.1

1 year ago

1.1.4

12 months ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.0

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago