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.

generateRandomKey.js 568 B

3 years ago
123456789101112131415161718192021222324252627
  1. /**
  2. * Copyright (c) Facebook, Inc. and its affiliates.
  3. *
  4. * This source code is licensed under the MIT license found in the
  5. * LICENSE file in the root directory of this source tree.
  6. *
  7. * @format
  8. *
  9. * @emails oncall+draft_js
  10. */
  11. 'use strict';
  12. var seenKeys = {};
  13. var MULTIPLIER = Math.pow(2, 24);
  14. function generateRandomKey() {
  15. var key;
  16. while (key === undefined || seenKeys.hasOwnProperty(key) || !isNaN(+key)) {
  17. key = Math.floor(Math.random() * MULTIPLIER).toString(32);
  18. }
  19. seenKeys[key] = true;
  20. return key;
  21. }
  22. module.exports = generateRandomKey;