Neighbourhood Party Manager

npm

aspie-even-numbers

2.0.6 • Public • Published

Aspie Even Numbers

If you have Asperger's Syndrome (ASD), like I do, and you like even numbers, this module can help.

This module takes an odd number and sets it to what an aspie would consider even. Multiples of 5 are also considered even by this module, but you don't have to use that feature.

Installation

`npm install @aspiesoft/aspie-even-numbers`

Setup

`const aspieEven = require('@aspiesoft/aspie-even-numbers');`

Usage

```// check if a number will be changed by .set()
aspieEven.check(2); // output: true
aspieEven.check(3.07); // output: false
aspieEven.check(4); // output: false (because 4 is set to 5)
aspieEven.check(5); // output: true (because 5 is a multiple of 5)

// set a number to the correct number (even or multiple of 5)
aspieEven.set(17); // output: 18
aspieEven.set(4.39); // output 5.5
aspieEven.set(4.89); // output 5
aspieEven.set(29); // output: 30

// check only if a number is even
aspieEven.isEven(4); // output: true
aspieEven.isEven(5); // output: false

// check only if a number is a multiple of 5
aspieEven.is5Multiple(2); // output: false
aspieEven.is5Multiple(5); // output: true
aspieEven.is5Multiple(10); // output: true

// .check() and .set() have other options
{
multiple: 2 || 5 || 'both', // round to the nearest 2 || 5 || 'both' (default: 'both')
round: 0 || 1 || 2 || ..., // 0 = 2, 1 = 2.5, 2 = 2.58, ect.
min: 1 || 2 || 5 || ..., // result cannot go below this number (note: a minimum of 1 allows a result of 1)
max: 10 || 20 || 500 || ..., // result cannot go above this number
evenDecimalSize: 2 || 5 || 'both' || false, // make sure a decimal always has an even number of characters (example: 2.452 = 2.45)
include: [1, 25, 3.14], // a list of numbers to accept as a valid result (also accepts numbers after decimal is rounded to the nearest multiple)
includeBefore: [3, 94, 48], // a list of numbers to accept, only before rounding to the multiple
includeAfter: [0, 1000], // a list of numbers to accept, only after rounding to the multiple, but before min and max are set
includeNumber: [3, 6, 9], // a list of numbers to accept, only checking the number before the decimal
includeDecimal: [25, 75], // a list of numbers to accept, only checking the number after the decimal
}

// in version 1.0, you would pass the multiple option directly as one parameter
// the function will still accept this single parameter as a shortcut to {multiple: 2 || 5 || 'both'}

// when multiple = 2
aspieEven.check(4, 2); // output: true
aspieEven.check(5, 2); // output: false

aspieEven.set(1, 2); // output: 2
aspieEven.set(3, 2); // output: 4

// when multiple = 5
aspieEven.check(4, 5); // output: false
aspieEven.check(5, 5); // output: true

aspieEven.set(2, 5); // output: 0
aspieEven.set(3, 5); // output: 5
aspieEven.set(7, 5); // output: 5
aspieEven.set(8, 5); // output: 10

// another examples
'\$'+aspieEven.set(21.372, {round: 2, min: 1, include: 1, includeBefore: 0}); // output: \$20.28
'\$'+aspieEven.set(9.99, {round: 2, min: 1, include: 1, includeBefore: 0}); // output: \$10
'\$'+aspieEven.set(19.99, {round: 2, min: 1, include: 1, includeBefore: 0}); // output: \$20
'\$'+aspieEven.set(3.75, {round: 2, min: 1, include: 1, includeBefore: 0, includeDecimal: [25, 75]}); // output: \$2.75
'\$'+aspieEven.set(0.73, {round: 2, min: 1, include: 1, includeBefore: 0}); // output: \$1
'\$'+aspieEven.set(0, {round: 2, min: 1, include: 1, includeBefore: 0}); // output: \$0

aspieEven.set(3.141592, {round: 2, min: 1, include: [1, 3.14], includeBefore: 0}); // output: 3.14```

Keywords

Install

`npm i aspie-even-numbers`

21

2.0.6

MIT

8.94 kB

5