h5ai/test/util/uniq.js

40 lines
663 B
JavaScript
Raw Normal View History

2015-04-22 11:12:45 -04:00
(function () {
'use strict';
2015-04-22 13:34:35 -04:00
var PREFIX = 'UNIQ-';
var SUFFIX = '-ID';
2015-04-22 11:12:45 -04:00
var LENGTH = 4;
var RE = new RegExp('^' + PREFIX + '\\d{' + LENGTH + '}' + SUFFIX + '$');
var counter = 0;
function uniqId() {
counter += 1;
return PREFIX + ('00000000' + counter).substr(-LENGTH) + SUFFIX;
}
2015-04-22 13:34:35 -04:00
function isUniqId(uid) {
return RE.test(uid);
}
2015-04-22 11:12:45 -04:00
function uniqObj() {
return {uniqId: uniqId()};
}
2015-04-22 13:34:35 -04:00
function uniqPath(suffix) {
2015-04-22 11:12:45 -04:00
2015-04-22 13:34:35 -04:00
return '/some/path/' + uniqId() + (suffix ? suffix : '');
2015-04-22 11:12:45 -04:00
}
2015-04-22 13:34:35 -04:00
2015-04-22 11:12:45 -04:00
window.util = window.util || {};
window.util.uniqId = uniqId;
window.util.isUniqId = isUniqId;
2015-04-22 13:34:35 -04:00
window.util.uniqObj = uniqObj;
window.util.uniqPath = uniqPath;
2015-04-22 11:12:45 -04:00
}());