@amilas/number.api v0.0.10
Presentation
This package is a library for the Amilas project, it permits you to build computation models based on numbers.
Installation
This package is compatible with npm and can be installed like this:
npm install @amilas/number.api
see also:
Usage
Use the following tools to build your model, you can mix them with others libraries. Once your model is built, send it to the amilas-server with the @amilas/rest.api package
number
Create a node from a given value, this node alway evals to this value
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number} = new AmilasNumberApi(context);
const node = number(12); // node alway evals to 12
randomNumber
Create a node from min/max values, this node alway evals to a number between min & max, 0, 1 if not provided
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, randomNumber} = new AmilasNumberApi(context);
const minNode = number(10);
const maxNode = number(20);
const node1 = randomNumber(min, max);
const node2 = randomNumber(min, 20);
const node3 = randomNumber(10, max);
const node4 = randomNumber(10, 20);
sum
Given n children, the created node evals to the sum of all the children values
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, sum} = new AmilasNumberApi(context);
const node1 = number(12);
const node2 = number(13);
let sumNode;
// Here, some ways to create sum node
const x1 = sum(node1, node2);
const x2 = sum(node1, 13);
const x3 = sum(node1, 13, node2);
const x4 = node1.sum(node2);
const x5 = node1.sum(13);
const x6 = node1.sum(13, node2);
minus
Given n children, the created node evals to the first child minus the values of the others children
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, minus} = new AmilasNumberApi(context);
const node1 = number(25); // node1 alway evals to a 25
const node2 = number(13); // node2 alway evals to a 13
const node3 = minus(node1, node2); // node3 alway evals to 12 (25 - 13 = 12)
const node4 = minus(node1, node2, node2); // node4 alway evals to -1 (25 - 13 - 13 = 12)
times
Given n children, the created node evals to the multiplication of all the children values
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, times} = new AmilasNumberApi(context);
const node1 = number(3); // node1 alway evals to a 3
const node2 = number(4); // node2 alway evals to a 4
const node3 = times(node1, node2); // node3 alway evals to 12 (3 * 4 =12)
divide
Given 2 children, the created node evals to node1 / node2
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, divide} = new AmilasNumberApi(context);
const node1 = number(12); // node1 alway evals to a 12
const node2 = number(4); // node2 alway evals to a 4
const node3 = divide(node1, node2); // node3 alway evals to 3 (12 / 4 = 3)
modulo
Given 2 children, the created node evals to node1 % node2
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, modulo} = new AmilasNumberApi(context);
const node1 = number(12); // node1 alway evals to a 12
const node2 = number(5); // node2 alway evals to a 5
const node3 = modulo(node1, node2); // node3 alway evals to 2 (12 % 5 = 2)
comparison
lessThan
Given 2 children, the created node evals to true if the value of the first node is less than the value of the second one
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, lessThan} = new AmilasNumberApi(context);
const node1 = number(3); // node1 alway evals to a 3
const node2 = number(4); // node2 alway evals to a 4
const node3 = lessThan(node1, node2); // node3 alway evals to true (3 < 4)
const node4 = lessThan(node2, node2); // node3 alway evals to false (4 < 4)
lessOrEqualThan
Given 2 children, the created node evals to true if the value of the first node is less or equal than the value of the second one
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, lessOrEqualThan} = new AmilasNumberApi(context);
const node1 = number(3); // node1 alway evals to a 3
const node2 = number(4); // node2 alway evals to a 4
const node3 = lessOrEqualThan(node1, node2); // node3 alway evals to true (3 <= 4)
const node4 = lessOrEqualThan(node2, node2); // node3 alway evals to true (4 <= 4)
greaterThan
Given 2 children, the created node evals to true if the value of the first node is greater than the value of the second one
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, greaterThan} = new AmilasNumberApi(context);
const node1 = number(4); // node1 alway evals to a 3
const node2 = number(3); // node2 alway evals to a 4
const node3 = greaterThan(node2, node1); // node3 alway evals to false (4 < 3)
const node4 = greaterThan(node1, node2); // node4 alway evals to true (3 < 4)
const node5 = greaterThan(node2, node2); // node5 alway evals to false (4 < 4)
greaterOrEqualThan
Given 2 children, the created node evals to true if the value of the first node is greater or equal than the value of the second one
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, greaterOrEqualThan} = new AmilasNumberApi(context);
const node1 = number(3); // node1 alway evals to a 3
const node2 = number(4); // node2 alway evals to a 4
const node3 = greaterOrEqualThan(node2, node1); // node3 alway evals to true (4 >= 3)
const node4 = greaterOrEqualThan(node1, node2); // node4 alway evals to false (3 >= 4)
const node5 = greaterOrEqualThan(node2, node2); // node5 alway evals to true (4 >= 4)
equal
Given n children, the created node evals to true if all children have the same values
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, equal} = new AmilasNumberApi(context);
const node1 = number(3); // node1 alway evals to a 3
const node2 = number(4); // node2 alway evals to a 4
const node3 = equal(node2, node1); // node3 alway evals to false (4 == 3)
const node4 = equal(node2, node2); // node4 alway evals to true (4 == 4)
notEqual
Given n children, the created node evals to true if all children have different values
import {AmilasContext} from "@amilas/core"
import AmilasNumberApi from "@amilas/number.api"
const context = new AmilasContext();
const {number, notEqual} = new AmilasNumberApi(context);
const node1 = number(3); // node1 alway evals to a 3
const node2 = number(4); // node2 alway evals to a 4
const node3 = notEqual(node2, node1); // node3 alway evals to true (4 != 3)
const node4 = notEqual(node2, node2); // node4 alway evals to false (4 != 4)