Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xotic750/big-counter-x

A big counter module.
https://github.com/xotic750/big-counter-x

browser counter ecmascript nodejs

Last synced: 2 months ago
JSON representation

A big counter module.

Awesome Lists containing this project

README

        


Travis status


Dependency status


devDependency status


npm version


jsDelivr hits


bettercodehub score


Coverage Status

## big-counter-x

A big counter.

- [big-counter-x](#module_big-counter-x)
- [module.exports](#exp_module_big-counter-x--module.exports) ⏏
- [`new module.exports()`](#new_module_big-counter-x--module.exports_new)
- [`~get()`](#module_big-counter-x--module.exports..get) ⇒ string
- [`~next()`](#module_big-counter-x--module.exports..next) ⇒ Object
- [`~reset()`](#module_big-counter-x--module.exports..reset) ⇒ Object
- [`~toJSON()`](#module_big-counter-x--module.exports..toJSON) ⇒ string
- [`~toString()`](#module_big-counter-x--module.exports..toString) ⇒ string
- [`~valueOf()`](#module_big-counter-x--module.exports..valueOf) ⇒ string

### module.exports ⏏

**Kind**: Exported class

#### `new module.exports()`

Incremental integer counter. Counts from `0` to very big intergers.
Javascript´s number type allows you to count in integer steps
from `0` to `9007199254740991`. As of ES5, Strings can contain
approximately 65000 characters and ES6 is supposed to handle
the `MAX_SAFE_INTEGER` (though I don´t believe any environments supports
this). This counter represents integer values as strings and can therefore
count in integer steps from `0` to the maximum string length (that´s some
65000 digits). In the lower range, upto `9007199254740991`, the strings can
be converted to safe Javascript integers `Number(value)` or `+value`. This
counter is great for any applications that need a really big count
represented as a string, (an ID string).

**Example**

```js
import BigCounter from 'big-counter-x';

const counter = new BigCounter();

console.log(counter.get()); // '0'
console.log(counter.next()); // counter object
console.log(counter.get()); // '1'

// Methods are chainable.
console.log(counter.next().next()); // counter object
console.log(counter.get()); // '3'

console.log(counter.reset()); // counter object
console.log(counter.get()); // '0'
console.log(counter.toString()); // '0'
console.log(counter.valueOf()); // '0'
console.log(counter.toJSON()); // '0'

// Values upto `9007199254740991` convert to numbers.
console.log(Number(counter)); // 0
console.log(+counter); // 0
```

#### `module.exports~get()` ⇒ string

Gets the counter´s current value.

**Kind**: inner method of [module.exports](#exp_module_big-counter-x--module.exports)
**Returns**: string - A string representation of an integer.

#### `module.exports~next()` ⇒ Object

Increments the counter´s value by `1`.

**Kind**: inner method of [module.exports](#exp_module_big-counter-x--module.exports)
**Returns**: Object - The counter object.

#### `module.exports~reset()` ⇒ Object

Resets the counter back to `0`.

**Kind**: inner method of [module.exports](#exp_module_big-counter-x--module.exports)
**Returns**: Object - The counter object.

#### `module.exports~toJSON()` ⇒ string

Gets the counter´s current value.

**Kind**: inner method of [module.exports](#exp_module_big-counter-x--module.exports)
**Returns**: string - A string representation of an integer.

#### `module.exports~toString()` ⇒ string

Gets the counter´s current value.

**Kind**: inner method of [module.exports](#exp_module_big-counter-x--module.exports)
**Returns**: string - A string representation of an integer.

#### `module.exports~valueOf()` ⇒ string

Gets the counter´s current value.

**Kind**: inner method of [module.exports](#exp_module_big-counter-x--module.exports)
**Returns**: string - A string representation of an integer.