UNPKG

@dtable/formula

Version:

dtable-formula

95 lines (71 loc) • 4.78 kB
<h1 align="center">Welcome to @dtable/formula šŸ‘‹</h1> <p> <a href="https://www.npmjs.com/package/@dtable/formula" target="_blank"> <img alt="Version" src="https://img.shields.io/npm/v/@dtable/formula.svg"> </a> <a href="#" target="_blank"> <img alt="License: ISC" src="https://img.shields.io/badge/License-ISC-yellow.svg" /> </a> </p> > dtable-formula ## Install ```sh npm install --save @dtable/formula ``` ## Run tests ```sh npm run test ``` ## Examples List some simple examples for quick start. ### prase text expression ```ts import { formula } from "@dtable/formula"; formula("1 + 2"); // 3 ``` ### get lexer result ```ts import { tokenize } from "@dtable/formula"; tokenize("1 + 2"); // [ // { image: "1", tokenType: { name: "Number" } }, // { image: "+", tokenType: { name: "Plus" } }, // { image: "2", tokenType: { name: "Number" } }, // ]; ``` ### use params ```ts import { formula } from "@dtable/formula"; formula("{Number1} + {Number2}", { Number1: 1, Number2: 2 }); // 3 ``` ## All Functions And Operators | Name | Type | Description | |-------------------|------------------|--------------------------------------------------------------------------------------------| | {} | Param operator | reference to a param. | | != | Logical operator | Check if one value is not equal to another value. | | = | Logical operator | Compare if one value is equal to another value. | | \>= | Logical operator | Compare if one value is greater than, or equal to, another value. | | \> | Logical operator | Compare if one value is greater than another value | | <= | Logical operator | Compare if one value is less than, or equal to, another value. | | < | Logical operator | Compare if one value is less than another value. | | IF() | Logical function | It allows you to make logical comparisons between a value and what you expect | | + | Numeric operator | Add together two values. | | - | Numeric operator | Subtract two values. | | \* | Numeric operator | Multiply two values. | | / | Numeric operator | Divide two values. | | ABS() | Numeric function | Returns the absolute value. | | ROUND() | Numeric function | Rounds the value to the number of decimal places given by precision. | | ROUNDUP() | Numeric function | Rounds the value to the number of decimal places given by precision, always rounding up. | | ROUNDDOWN() | Numeric function | Rounds the value to the number of decimal places given by precision, always rounding down. | | INT() | Numeric function | Returns the greatest integer that is less than or equal to the specified value. | | MAX() | Numeric function | Returns the largest of the given numbers. | | MIN() | Numeric function | Returns the smallest of the given numbers. | | & | Strings operator | Concatenate strings. | | CONCATENATE() | Strings function | Concatenate strings. | | REPT() | Strings function | Repeats text a given number of times. | | LEN() | Strings function | Get the length of the string | | DATETIME_FORMAT() | Date function | Reformat the data from the date-type field into a string of your specifications | | SET_TIMEZONE() | Date function | Set the time zone for the date | ## Author šŸ‘¤ **zhangchao1997** * Github: [@little-thing](https://github.com/little-thing)