insomnia/app/templating/extensions/uuid-extension.js
Gregory Schier 8452e8b777 Some eslint refactoring (#109)
* Fixed duplication kve bug

* Some changes

* Add proptypes linting

* Fixed proptypes even more

* Filename linting
2017-03-07 21:52:17 -08:00

29 lines
620 B
JavaScript

import uuid from 'uuid';
import BaseExtension from './base/base-extension';
export default class UuidExtension extends BaseExtension {
constructor () {
super();
this.tags = ['uuid'];
}
run (context, uuidType = 'v4') {
if (typeof uuidType === 'number') {
uuidType += '';
} else if (typeof uuidType === 'string') {
uuidType = uuidType.toLowerCase();
}
switch (uuidType) {
case '1':
case 'v1':
return uuid.v1();
case '4':
case 'v4':
return uuid.v4();
default:
throw new Error(`Invalid UUID type "${uuidType}"`);
}
}
}