Skip to content

Commit afff146

Browse files
committed
core.IdGenerator: switch from singleton to plain object #7006
1 parent 1c199b3 commit afff146

1 file changed

Lines changed: 15 additions & 43 deletions

File tree

src/core/IdGenerator.mjs

Lines changed: 15 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,17 @@
11
/**
2-
* This class gets used by core.Base, so it can not extend it.
3-
* It could get simplified to just being an object (needs to manually get put into the Neo namespace in this case).
4-
* @class Neo.core.IdGenerator
5-
* @singleton
2+
* Provides a singleton utility for generating unique IDs.
3+
* @namespace Neo.core.IdGenerator
64
*/
7-
class IdGenerator {
8-
static config = {
9-
/**
10-
* @member {String} className='Neo.core.IdGenerator'
11-
* @protected
12-
*/
13-
className: 'Neo.core.IdGenerator',
14-
/**
15-
* @member {String} ntype='id-generator'
16-
* @protected
17-
*/
18-
ntype: 'id-generator',
19-
/**
20-
* The default prefix for neo instance ids
21-
* @member {String} base='neo-'
22-
*/
23-
base: 'neo-',
24-
/**
25-
* @member {Boolean} singleton='true
26-
* @protected
27-
*/
28-
singleton: true
29-
}
30-
5+
const IdGenerator = {
316
/**
32-
* @param config
7+
* The default prefix for neo instance ids
8+
* @member {String} base='neo-'
339
*/
34-
construct(config) {
35-
let me = this;
36-
37-
me.idCounter = {};
38-
39-
// alias
40-
Neo.getId = me.getId.bind(me);
41-
}
10+
base: 'neo-',
11+
/**
12+
* @member {Object} idCounter={}
13+
*/
14+
idCounter: {},
4215

4316
/**
4417
* @param name
@@ -55,12 +28,11 @@ class IdGenerator {
5528

5629
return me.base + (name === 'neo' ? '' : name + '-') + count;
5730
}
31+
}
5832

59-
init() {}
60-
61-
onAfterConstructed() {}
33+
const ns = Neo.ns('Neo.core', true);
34+
ns.IdGenerator = IdGenerator;
6235

63-
onConstructed() {}
64-
}
36+
Neo.getId = IdGenerator.getId.bind(IdGenerator);
6537

66-
export default Neo.setupClass(IdGenerator);
38+
export default IdGenerator;

0 commit comments

Comments
 (0)