marko/lib/uniqueId.js
Patrick Steele-Idem d9cc8c4354 Fixed uniqueId
2015-01-01 12:40:29 -07:00

20 lines
510 B
JavaScript

function IdProvider(out) {
var global = this.global = out.global;
this.prefix = global.widgetIdPrefix || 'w';
if (global._nextWidgetId == null) {
global._nextWidgetId = 0;
}
}
IdProvider.prototype.nextId = function() {
return this.prefix + (this.global._nextWidgetId++);
};
module.exports = function (out) {
var global = out.global;
var idProvider = global._widgetIdProvider ||
(global._widgetIdProvider = new IdProvider(out));
return idProvider.nextId();
};