|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /**
- * @fileoverview A class of identifiers generator for code path segments.
- *
- * Each rule uses the identifier of code path segments to store additional
- * information of the code path.
- *
- * @author Toru Nagashima
- */
-
- "use strict";
-
- //------------------------------------------------------------------------------
- // Public Interface
- //------------------------------------------------------------------------------
-
- /**
- * A generator for unique ids.
- */
- class IdGenerator {
-
- /**
- * @param {string} prefix - Optional. A prefix of generated ids.
- */
- constructor(prefix) {
- this.prefix = String(prefix);
- this.n = 0;
- }
-
- /**
- * Generates id.
- *
- * @returns {string} A generated id.
- */
- next() {
- this.n = 1 + this.n | 0;
-
- /* istanbul ignore if */
- if (this.n < 0) {
- this.n = 1;
- }
-
- return this.prefix + this.n;
- }
- }
-
- module.exports = IdGenerator;
|