|
123456789101112131415161718192021222324252627 |
- /**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- * @format
- * @flow strict
- * @emails oncall+draft_js
- */
- 'use strict';
-
- const seenKeys = {};
- const MULTIPLIER = Math.pow(2, 24);
-
- function generateRandomKey(): string {
- let key;
-
- while (key === undefined || seenKeys.hasOwnProperty(key) || !isNaN(+key)) {
- key = Math.floor(Math.random() * MULTIPLIER).toString(32);
- }
-
- seenKeys[key] = true;
- return key;
- }
-
- module.exports = generateRandomKey;
|