2017-11-26 20:45:40 +00:00
|
|
|
const uuid = require('uuid');
|
2017-02-20 18:32:27 +00:00
|
|
|
|
2018-06-25 17:42:50 +00:00
|
|
|
module.exports.templateTags = [
|
|
|
|
{
|
|
|
|
displayName: 'UUID',
|
|
|
|
name: 'uuid',
|
|
|
|
description: 'generate v1 or v4 UUIDs',
|
|
|
|
args: [
|
|
|
|
{
|
|
|
|
displayName: 'Version',
|
|
|
|
type: 'enum',
|
|
|
|
options: [
|
|
|
|
{ displayName: 'Version 4', value: 'v4' },
|
2018-12-12 17:36:11 +00:00
|
|
|
{ displayName: 'Version 1', value: 'v1' },
|
|
|
|
],
|
|
|
|
},
|
2018-06-25 17:42:50 +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
|
|
|
|
2018-06-25 17:42:50 +00:00
|
|
|
switch (uuidType) {
|
|
|
|
case '1':
|
|
|
|
case 'v1':
|
|
|
|
return uuid.v1();
|
|
|
|
case '4':
|
|
|
|
case 'v4':
|
|
|
|
return uuid.v4();
|
|
|
|
default:
|
|
|
|
throw new Error(`Invalid UUID type "${uuidType}"`);
|
|
|
|
}
|
2018-12-12 17:36:11 +00:00
|
|
|
},
|
|
|
|
},
|
2018-06-25 17:42:50 +00:00
|
|
|
];
|