Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / identifier / toIdentity.js
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.toIdentity = toIdentity;
exports.default = void 0;

var _index = require("../chain-able/index.js");

/**
 * @note - was in view-container
 * @todo move to chain
 */
// here we can create those unique ids for selectors, keys,
// identity-obj-proxy
let identityIndex = 0; // reuse from registry

let identities = new Map();

function toIdentity(...args) {
  const arg = args.length === 0 ? args[0] : args; // if (identities.has(arg)) {
  //   return identities.get(arg)
  // }
  // increment to keep unique

  identityIndex += 1;
  const hashcode = '' + identityIndex + (0, _index.stringify)(arg);
  const hashstring = (0, _index.fliphash)(hashcode); // save it for later
  // identities.set(arg, hashstring)

  return hashstring;
}

var _default = toIdentity;
exports.default = _default;