В этом разделе перечислены свойства и методы данных типа Uuid
Тип данных Uuid - это обертка над библиотекой stduuid
Объект этого типа данных генерирует различные типы UUID
согласно RFC4122
UUID - (англ. universally unique identifier «универсальный уникальный идентификатор») —
стандарт идентификации, используемый в создании программного обеспечения, стандартизированный
Open Software Foundation (OSF) как часть DCE — среды распределённых вычислений.
Основное назначение UUID — это позволить распределённым системам уникально идентифицировать
информацию без центра координации. Таким образом, любой может создать UUID и использовать
его для идентификации чего-либо с приемлемым уровнем уверенности, что данный идентификатор
непреднамеренно никогда не будет использован для чего-то ещё.
ВНИМАНИЕ!!!
Uuid доступен только при использовании компиляторов msvc v. >= 2017 или gcc v. >= 8.0.0
new Uuid() Создать объект
// включить конструктор в контекст JS
var uuidSupport = post.install('Uuid');
if(uuidSupport) {
// Создать пустой объект
var uid = new Uuid();
// Создать объект с uuid (аргумент строка)
var uid = new Uuid('da1af231-da3d-4c89-87c6-81fe67d6f222');
// Создать объект и сгенерировать uuid
var uid = new Uuid().genMt19937();
// Создать объект, сгенерировать uuid и дополнительно хешировать
var uid = new Uuid().genSystem().genName('строка для хеширования');
console.log(uid);
// аргумент ByteArray
var ba = new ByteArray().random(16);
var uid = new Uuid(ba); // получаемый UUID возможно будет не валидным т.к.
// все 16 байт будут рандомными и информационные
// биты не будут совпадать с RFC4122
}
var uidStr = uid.uuid uid.uuid = '6141dd39-e926-4613-a433-a82f869cf5f8'; //----------------------------------------- var uid2 = new Uuid().genTime(); uid.uuid = uid2
bool uid.equals(uid) Функция
Сравнить UUID
var uid1 = new Uuid('26c9077d-e6bd-4fa2-9056-19475c825a45');
var eq1 = uid1.equals('26c9077d-e6bd-4fa2-9056-19475c825a45');
post.log('e',(eq1 ? 'true' : 'false')) // -> true
var eq2 = uid1.equals('26c9077d-e6bd-4fa2-0000-19475c825a45');
post.log('e',(eq2 ? 'true' : 'false')) // -> false
bool uid.toByteArray() Функция
Преобразовать UUID в массив ByteArray (длинна получаемого массива 16 байт)
bool uid.isNull() Функция
Возвращает true если UUID пустой (содержит оди нули)
bool uid.isValid() Функция
Возвращает true если UUID не пустой и валидный
uid uid.genMt19937() Функция
uid uid.genRandSsl() Функция
uid uid.genRanlux24() Функция
uid uid.genRanlux24() Функция
uid uid.genRanlux48() Функция
uid uid.genSystem() Функция
uid uid.genTime() Функция
uid uid.genName() Функция
Функции генерации UUID
// включить конструктор в контекст JS
post.install('Uuid');
var uidOk1 = new Uuid().genMt19937();
var uidOk2 = new Uuid().genRandSsl();
var uidBySystem = new Uuid().genSystem();
var uidTimeBased = new Uuid().genTime();
var uidTimeAndHash = new Uuid().genTime()
.genName('доп.строка для хеширования');
// следующая строка сгенериует ошибку, т.к. на пустом UUID
// дополнительное хеширование не предусмотрено
var uid = new Uuid().genName('строка для хеширования');
// но возможен такой вызов
var uidBySystem = new Uuid().genSystem();
var uid = new Uuid().genName(uidBySystem, 'строка для хеширования');