Стандартные JS-функции

Добавление нового элемента в массив / строку с разделителем

$D.concat = function(buffer, value)

$D.concat = function(buffer, value)
//$D.concat("", "") === ""
//$D.concat("", "3") === "3"
//$D.concat("", "3") === "3"
//$D.concat("1,2", "1,2,3") === "1,2,3"
//$D.concat("1,2,3", "") === "1,2,3"
//$D.concat("1,2,3", "3") === "1,2,3"
//$D.concat("1,2,3", "4") === "1,2,3,4"
//$D.concat("1,2,3,4", "2,3") === "1,2,3,4"
//$D.concat("1,3", "2,3,4") === "1,3,2,4"
//$D.concat("1", "2,3,4") === "1,2,3,4"
//$D.concat("1,2,2", "2,4") === "1,2,4"

Где: buffer: старое значение поля; value: элемент для добавления;

Метод производит проверку на существование добавляемого элемента. Возвращаемый тип: string.

Удаление элемента из массива

$D.splice = function(buffer, value)

Производит изъятие элемента из массива / строки с разделителем

$D.splice = function(buffer, value)
//$D.splice("", "") === ""
//$D.splice("", "3") === ""
//$D.splice("", "3") === ""
//$D.splice("1,2,3", "") === "1,2,3"
//$D.splice("1,2,3", "3") === "1,2"
//$D.splice("1,2,3", "4") === "1,2,3"
//$D.splice("1,2,3", "1,3") === "2"
//$D.splice("1,2,3", "2,4,5") === "1,3"
//$D.splice("1,2,2", "4") === "1,2"

Перевод из строки в массив

Поля типа arrayLink платформа обрабатывает как строку. Поэтому для перевода значения в массив используется стандартная JS функция split. (String, ArrayLink — Array)

//example code
DirectualEngine.addEventListener(AppEvents.START, function(context){
//получаем значение ID текущего объекта
var templateID = null;
templateID = $D.getValueFromTemplate("{{id}}");
var stringF = '12345';
var arrayLinkF = '1,2,3,4,5';
var stringFResult = stringF.split(",");
var arrayLinkFResult = arrayLinkF.split(",");
//добавляем в текущий объект значение в поле fileLinkToBase64
$D.saveObject("split",{id:templateID,splitResultString:stringFResult,splitResultLinkArray:arrayLinkFResult});
// splitResultString имеет тип поля array
// splitResultLinkArray имеет тип поля array
return true;
});

Вернуть md5 hash

$D.md5 = function(value)

$D.md5 = function(value)
//$D.md5 = function(string)
//$D.md5("string") = "b45cffe084dd3d20d928bee85e7b0f21"

$D.modify.arrayAdd(value)

$D.modify.arrayAdd(value)
//$D.modify.arrayAdd([1,2,3,4,5]) = 1,2,3,4,5

Где value: значение, добавляемое в массив. Метод потокобезопасен, а именно: для наполнения массива не требуется создавать линейную очередь.

Доступен только для MongoDB!

$D.modify.arrayRemove = function(value)

$D.modify.arrayRemove = function(value)
//Из массива [1,2,3,4,5]
//$D.modify.arrayRemove([4,5]) = 1,2,3

Где value: значение удаляемое из массива.

Метод потокобезопасен, а именно: для наполнения массива не требуется создавать линейную очередь.

Доступен только для MongoDB!

Увеличение указанного поля на переданное значение (Number / Decimal)

$D.modify.increment = function(value) $D.modify.inc = $D.modify.increment

$D.modify.increment = function(value)
//Обрабатываем поля number=10, decimal=10.5
//$D.modify.increment(10) = 20, 20.5

Где value: значение, на которое будет произведено увеличение (по умолчанию 1). При передаче пустых параметров принимается дефолтное значение.

Метод потокобезопасен, а именно: для наполнения массива не требуется создавать линейную очередь.

Доступен только для MongoDB!

Уменьшение указанного поля на переданное значение (Number / Decimal)

$D.modify.decrement = function(value)

$D.modify.decrement = function(value)
//Обрабатываем поля number=10, decimal=10.5
//$D.modify.increment(5) = 5, 5.5

Где value: значение, на которое будет произведено уменьшение (по умолчанию 1). При передаче пустых параметров принимается значение по умолчанию.

Метод потокобезопасен, а именно: для наполнения массива не требуется создавать линейную очередь.

Доступен только для MongoDB!

Умножение значения в поле на переданное значение (Number / Decimal)

$D.modify.multiply = function(value)

$D.modify.multiply = function(value)
//Обрабатываем поля number=10, decimal=10.5
//$D.modify.multiply(2) = 20, 21

Где value: значение множителя для поля.

Метод потокобезопасен, а именно: для наполнения массива не требуется создавать линейную очередь.

Доступен только для MongoDB!

Деление значения в поле на переданное значение (Number / Decimal)

$D.modify.divide = function(value)

$D.modify.divide = function(value)
//Обрабатываем поле decimal=10.6
//$D.modify.divide(2) = 5.3

Где value: значение делителя для поля.

Важно!

Результирующее поле должно быть типа decimal, иначе будет выдана ошибка.

Метод потокобезопасен, а именно: для наполнения массива не требуется создавать линейную очередь.

Доступен только для MongoDB!