spreadsheet
typeScript/javascript spreadsheet parser, with formulas.
git clone https://git.vogt.world/spreadsheet.git
Log | Files | README.md
← All files
name: src/Formulas/Convert.ts
-rw-r--r--
1726
 1import {
 2  ArgsChecker
 3} from "../Utilities/ArgsChecker";
 4import {
 5  TypeConverter
 6} from "../Utilities/TypeConverter";
 7
 8/**
 9 * Converts a number to a Date.
10 * @param value - Value to convert. If the input is a number, will convert to a date. If value is non-numeric, will
11 * return value unchanged.
12 * @returns {any}
13 * @constructor
14 */
15let TO_DATE = function (value) {
16  ArgsChecker.checkLength(arguments, 1, "TO_DATE");
17  let v = TypeConverter.firstValue(value);
18  if (typeof v === "number") {
19    return TypeConverter.valueToDateNumber(v);
20  }
21  return v;
22};
23
24/**
25 * Converts a number to a Dollar value.
26 * @param value - Value to convert. If the input is a number, will return as a dollar value. If value is non-numeric,
27 * will return value unchanged.
28 * @returns {any}
29 * @constructor
30 */
31let TO_DOLLARS = function (value) {
32  ArgsChecker.checkLength(arguments, 1, "TO_DOLLAR");
33  return TypeConverter.firstValue(value);
34};
35
36
37/**
38 * Converts a number to a percent value where 1 = 100 percent.
39 * @param value - Value to convert. If the input is a number, will return as a percent value. If value is non-numeric,
40 * will return value unchanged.
41 * @returns {any}
42 * @constructor
43 */
44let TO_PERCENT = function (value) {
45  ArgsChecker.checkLength(arguments, 1, "TO_PERCENT");
46  return TypeConverter.firstValue(value);
47};
48
49/**
50 * Converts a number to a text value
51 * @param value - Value to convert. If the input is a text, will return as a text value.
52 * @returns {any}
53 * @constructor
54 */
55let TO_TEXT = function (value) {
56  ArgsChecker.checkLength(arguments, 1, "TO_TEXT");
57  let v = TypeConverter.firstValue(value);
58  return TypeConverter.valueToString(v);
59};
60
61export {
62  TO_DATE,
63  TO_DOLLARS,
64  TO_PERCENT,
65  TO_TEXT
66}