UNPKG

nope-js-node

Version:

NoPE Runtime for Nodejs. For Browser-Support please use nope-browser

47 lines (46 loc) 1.2 kB
"use strict"; /** * @module id * @author Martin Karkowski * @email m.karkowski@zema.de * * Module, which provides an id-generator, see {@link generateId} */ Object.defineProperty(exports, "__esModule", { value: true }); exports.generateId = void 0; const uuid_1 = require("uuid"); const stringMethods_1 = require("./stringMethods"); /** * Generates an ID. * * # Example: * * ```javascript * // Default behavior: * generateId() // ==> 'b655f9d5-d581-411e-84b8-a6dbe1fd6cd6' will be allways different * * // Using a prestring: * generateId({ * prestring: "test" * }) // ==> 'testb655f9d5-d581-411e-84b8-a6dbe1fd6cd6' will be allways different * * // Using a useAsVar: * generateId({ * prestring: "test" * useAsVar: true * }) // ==> 'testb655f9d5_d581_411e_84b8_a6dbe1fd6cd6' will be allways different * ``` * * @author M.Karkowski */ function generateId(options = {}) { let id = (0, uuid_1.v4)(); if (typeof options.prestring === "string") { id = options.prestring + id; } if (options.useAsVar) { id = (0, stringMethods_1.varifyString)(id); } return id; } exports.generateId = generateId;