mirror of
https://github.com/marko-js/marko.git
synced 2026-01-25 15:03:04 +00:00
20 lines
510 B
JavaScript
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();
|
|
}; |