You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/** * @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 {
// eslint-disable-next-line jsdoc/require-description
/** * @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;
|