saij
Version:
A learning engine.
40 lines (34 loc) • 2.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getUid = getUid;
exports.VERSION = void 0;
/**
* @module saij/core/utils/uid
*/
/**
* Counter for getUid.
* @type {number}
* @private
*/
let uidCounter_ = 0;
/**
* Gets a unique ID for an object. This mutates the object so that further calls
* with the same object as a parameter returns the same value. Unique IDs are
* generated as a strictly increasing sequence. Adapted from goog.getUid.
*
* @param {Object} obj The object to get the unique ID for.
* @return {number} The unique ID for the object.
*/
function getUid(obj) {
// eslint-disable-next-line no-return-assign, no-plusplus
return obj.saij_uid || (obj.saij_uid = ++uidCounter_);
}
/**
* Saij version.
* @type {string}
*/
const VERSION = '1.0.2';
exports.VERSION = VERSION;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zYWlqL2NvcmUvdXRpbHMvdWlkLmpzIl0sIm5hbWVzIjpbInVpZENvdW50ZXJfIiwiZ2V0VWlkIiwib2JqIiwic2Fpal91aWQiLCJWRVJTSU9OIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBOzs7O0FBSUE7Ozs7O0FBS0EsSUFBSUEsV0FBVyxHQUFHLENBQWxCO0FBRUE7Ozs7Ozs7OztBQVFPLFNBQVNDLE1BQVQsQ0FBZ0JDLEdBQWhCLEVBQXFCO0FBQzFCO0FBQ0EsU0FBT0EsR0FBRyxDQUFDQyxRQUFKLEtBQWlCRCxHQUFHLENBQUNDLFFBQUosR0FBZSxFQUFFSCxXQUFsQyxDQUFQO0FBQ0Q7QUFFRDs7Ozs7O0FBSU8sTUFBTUksT0FBTyxHQUFHLE9BQWhCIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKipcbiAqIEBtb2R1bGUgc2Fpai9jb3JlL3V0aWxzL3VpZFxuICovXG5cbi8qKlxuICogQ291bnRlciBmb3IgZ2V0VWlkLlxuICogQHR5cGUge251bWJlcn1cbiAqIEBwcml2YXRlXG4gKi9cbmxldCB1aWRDb3VudGVyXyA9IDA7XG5cbi8qKlxuICogR2V0cyBhIHVuaXF1ZSBJRCBmb3IgYW4gb2JqZWN0LiBUaGlzIG11dGF0ZXMgdGhlIG9iamVjdCBzbyB0aGF0IGZ1cnRoZXIgY2FsbHNcbiAqIHdpdGggdGhlIHNhbWUgb2JqZWN0IGFzIGEgcGFyYW1ldGVyIHJldHVybnMgdGhlIHNhbWUgdmFsdWUuIFVuaXF1ZSBJRHMgYXJlXG4gKiBnZW5lcmF0ZWQgYXMgYSBzdHJpY3RseSBpbmNyZWFzaW5nIHNlcXVlbmNlLiBBZGFwdGVkIGZyb20gZ29vZy5nZXRVaWQuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iaiBUaGUgb2JqZWN0IHRvIGdldCB0aGUgdW5pcXVlIElEIGZvci5cbiAqIEByZXR1cm4ge251bWJlcn0gVGhlIHVuaXF1ZSBJRCBmb3IgdGhlIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFVpZChvYmopIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJldHVybi1hc3NpZ24sIG5vLXBsdXNwbHVzXG4gIHJldHVybiBvYmouc2Fpal91aWQgfHwgKG9iai5zYWlqX3VpZCA9ICsrdWlkQ291bnRlcl8pO1xufVxuXG4vKipcbiAqIFNhaWogdmVyc2lvbi5cbiAqIEB0eXBlIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzEuMC4yJztcbiJdfQ==