Text formatting
formatDate
Formats a date value to a text string.
Returns the formatted date string.
let text = formatDate(date_time_value, date_time_format);
Example:
let date_value = new Date();
let text = formatDate(date_value, "DD.MM.YYYY");
log("Formatted Date :", text);
formatDateTime
Formats a date-time value to a text string with timezone conversion.
Returns the formatted date-time string. Default timezone city is Berlin.
let text = formatDateTime(date_time_value, date_time_format, target_time_zone_city);
Example:
let date_time_value = new Date();
let text = formatDateTime(date_time_value, "DD.MM.YYYY HH:mm", "Berlin");
log("Formatted DateTime :", text);
formatNumber
Formats the given numeric value. Format and language are optional, defaulting to 0.00 and en-gb.
Returns the formatted number string.
The supported formats are based on NumeralJS and work as follows:
- Use
,to indicate that you want thousands separators in the formatted string - Use
.to indicate that you want a decimal point in the formatted string - Use
$to indicate that you want a currency symbol in the formatted string - Put one or more zeroes after the decimal point to indicate the number of decimal places you want
The symbols that appear in the formatted string are dependent on the language. See the examples below.
const formattedNumber = formatNumber(value, format, language);
Example:
let result1 = formatNumber(1234.567); // => "1234.57"
let result2 = formatNumber(1234.567, "0,0.00", "en-gb"); // => "1,234.57"
let result3 = formatNumber(1234.567, "0,0.00", "de-de"); // => "1.234,57"
let result4 = formatNumber(1234.567, "0.00000", "de-de"); // => "1234,56700"
let result5 = formatNumber(1234.567, "0"); // => "1235"
let result6 = formatNumber(1234.567, "00000"); // => "01235"
let result7 = formatNumber(1234.567, "$ 0,0.00", "de-de"); // => "€ 1.234,57"
let result8 = formatNumber(1234.567, "0$", "de-de"); // => "1235€"
formatItrpNote
Formats a text with Xurrent text formatting as HTML.
Returns an HTML string.
const html = formatItrpNote(text);
Example:
let note = "**Bold text** and _italic text_";
let html = formatItrpNote(note);
log("html:", html); // => '<b>Bold text</b> and <em>italic text</em>'
html2text
Converts HTML to plain text.
Returns the plain text string.
let text = html2text(html, options);
Example:
let html = "<h1>Title</h1><p>Hello <b>World</b></p>";
let text = html2text(html, {
wordwrap: 80,
preserveNewlines: true,
tables: true,
singleNewLineParagraphs: true,
});
log("text:", text); // => 'TITLE\nHello World'
upperCaseInitials
Converts the first letter of each word in the given text to uppercase.
Returns the formatted string.
let formattedText = upperCaseInitials(text);
Example:
let result = upperCaseInitials("hello world");
log("result:", result); // => 'Hello World'
objectToText
Converts an object's first-level properties into a text representation.
Returns the text string.
Properties starting with a _ are treated as private.
In default handling subobjects are not taken into consideration.
Default handling can be replaced by own implementation using a callback. Returning null is not placed into the result.
Using the prefix selector only properties starting with this prefix are taken into consideration.
- The first parameter of the callback name is always the name without prefix.
- The third parameter is the original property name
let result = objectToText(data_object, [prefix_selector], [(name, value, original_property_name) => {...
}])
Example 1: Default handling
let ob = {
name: "Max Mustermann",
strasse_und_hausnummer: "Musterstrasse 42",
};
let text_default = objectToText(ob);
log("default", text_default);
Example 2: Default handling with prefix
let ob = {
name: "Max Mustermann",
strasse_und_hausnummer: "Musterstrasse 42",
email_privat: "max.musterman@privat-test-mail.com",
email_arbeit: "max.musterman@arbeit-test-mail.com",
geburtsdatum: new Date(2001, 1, 1),
};
let text_prefix = objectToText(ob, "email_");
log("prefix", text_prefix);
Example 3: Using callback
let ob = {
name: "Max Mustermann",
strasse_und_hausnummer: "Musterstrasse 42",
email_privat: "max.musterman@privat-test-mail.com",
email_arbeit: "max.musterman@arbeit-test-mail.com",
geburtsdatum: new Date(2001, 1, 1),
};
let text_clbk = objectToText(ob, (name, value) => `${upperCaseInitials(name.replace(/_/g, " "))}: ${value}\n`);
log("callback", text_clbk);
Example 4: Using callback and prefix
let ob = {
name: "Max Mustermann",
strasse_und_hausnummer: "Musterstrasse 42",
email_privat: "max.musterman@privat-test-mail.com",
email_arbeit: "max.musterman@arbeit-test-mail.com",
geburtsdatum: new Date(2001, 1, 1),
};
let text_prefix_clbk = objectToText(
ob,
"email_",
(name, value) => `${upperCaseInitials(name.replace(/_/g, " "))}: ${value}\n`,
);
log("prefix callback", text_prefix_clbk);
Example 4: Using callback that filters by delivering null for some names
let ob = {
name: "Max Mustermann",
strasse_und_hausnummer: "Musterstrasse 42",
email_privat: "max.musterman@privat-test-mail.com",
email_arbeit: "max.musterman@arbeit-test-mail.com",
geburtsdatum: new Date(2001, 1, 1),
};
let text_filter_clbk = objectToText(ob, (name, value) =>
name.startsWith("geburtsdatum") ? null : `${upperCaseInitials(name)}: ${value}\n`,
);
log("filter_callback", text_filter_clbk);