2017-11-26 20:45:40 +00:00
|
|
|
const uuid = require('uuid');
|
2017-02-20 18:32:27 +00:00
|
|
|
|
2017-11-26 20:45:40 +00:00
|
|
|
module.exports.templateTags = [{
|
2017-06-01 02:04:27 +00:00
|
|
|
displayName: 'UUID',
|
|
|
|
name: 'uuid',
|
|
|
|
description: 'generate v1 or v4 UUIDs',
|
|
|
|
args: [{
|
|
|
|
displayName: 'Version',
|
|
|
|
type: 'enum',
|
|
|
|
options: [
|
|
|
|
{displayName: 'Version 4', value: 'v4'},
|
|
|
|
{displayName: 'Version 1', value: 'v1'}
|
|
|
|
]
|
|
|
|
}],
|
2017-02-27 21:00:13 +00:00
|
|
|
run (context, uuidType = 'v4') {
|
|
|
|
if (typeof uuidType === 'number') {
|
|
|
|
uuidType += '';
|
|
|
|
} else if (typeof uuidType === 'string') {
|
|
|
|
uuidType = uuidType.toLowerCase();
|
2017-02-20 18:32:27 +00:00
|
|
|
}
|
|
|
|
|
2017-02-27 21:00:13 +00:00
|
|
|
switch (uuidType) {
|
2017-02-20 18:32:27 +00:00
|
|
|
case '1':
|
|
|
|
case 'v1':
|
|
|
|
return uuid.v1();
|
|
|
|
case '4':
|
|
|
|
case 'v4':
|
|
|
|
return uuid.v4();
|
2017-02-27 21:00:13 +00:00
|
|
|
default:
|
|
|
|
throw new Error(`Invalid UUID type "${uuidType}"`);
|
2017-02-20 18:32:27 +00:00
|
|
|
}
|
|
|
|
}
|
2017-11-26 20:45:40 +00:00
|
|
|
}];
|