152 lines
2.5 KiB
TypeScript
152 lines
2.5 KiB
TypeScript
/*
|
|
Copyright 2022 Matrix.org Foundation C.I.C.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
import {
|
|
uniqueNamesGenerator,
|
|
adjectives,
|
|
colors,
|
|
animals,
|
|
} from "unique-names-generator";
|
|
|
|
const elements = [
|
|
"hydrogen",
|
|
"helium",
|
|
"lithium",
|
|
"beryllium",
|
|
"boron",
|
|
"carbon",
|
|
"nitrogen",
|
|
"oxygen",
|
|
"fluorine",
|
|
"neon",
|
|
"sodium",
|
|
"magnesium",
|
|
"aluminum",
|
|
"silicon",
|
|
"phosphorus",
|
|
"sulfur",
|
|
"chlorine",
|
|
"argon",
|
|
"potassium",
|
|
"calcium",
|
|
"scandium",
|
|
"titanium",
|
|
"vanadium",
|
|
"chromium",
|
|
"manganese",
|
|
"iron",
|
|
"cobalt",
|
|
"nickel",
|
|
"copper",
|
|
"zinc",
|
|
"gallium",
|
|
"germanium",
|
|
"arsenic",
|
|
"selenium",
|
|
"bromine",
|
|
"krypton",
|
|
"rubidium",
|
|
"strontium",
|
|
"yttrium",
|
|
"zirconium",
|
|
"niobium",
|
|
"molybdenum",
|
|
"technetium",
|
|
"ruthenium",
|
|
"rhodium",
|
|
"palladium",
|
|
"silver",
|
|
"cadmium",
|
|
"indium",
|
|
"tin",
|
|
"antimony",
|
|
"tellurium",
|
|
"iodine",
|
|
"xenon",
|
|
"cesium",
|
|
"barium",
|
|
"lanthanum",
|
|
"cerium",
|
|
"praseodymium",
|
|
"neodymium",
|
|
"promethium",
|
|
"samarium",
|
|
"europium",
|
|
"gadolinium",
|
|
"terbium",
|
|
"dysprosium",
|
|
"holmium",
|
|
"erbium",
|
|
"thulium",
|
|
"ytterbium",
|
|
"lutetium",
|
|
"hafnium",
|
|
"tantalum",
|
|
"wolfram",
|
|
"rhenium",
|
|
"osmium",
|
|
"iridium",
|
|
"platinum",
|
|
"gold",
|
|
"mercury",
|
|
"thallium",
|
|
"lead",
|
|
"bismuth",
|
|
"polonium",
|
|
"astatine",
|
|
"radon",
|
|
"francium",
|
|
"radium",
|
|
"actinium",
|
|
"thorium",
|
|
"protactinium",
|
|
"uranium",
|
|
"neptunium",
|
|
"plutonium",
|
|
"americium",
|
|
"curium",
|
|
"berkelium",
|
|
"californium",
|
|
"einsteinium",
|
|
"fermium",
|
|
"mendelevium",
|
|
"nobelium",
|
|
"lawrencium",
|
|
"rutherfordium",
|
|
"dubnium",
|
|
"seaborgium",
|
|
"bohrium",
|
|
"hassium",
|
|
"meitnerium",
|
|
"darmstadtium",
|
|
"roentgenium",
|
|
"copernicium",
|
|
"nihonium",
|
|
"flerovium",
|
|
"moscovium",
|
|
"livermorium",
|
|
"tennessine",
|
|
"oganesson",
|
|
];
|
|
|
|
export function generateRandomName(): string {
|
|
return uniqueNamesGenerator({
|
|
dictionaries: [colors, adjectives, animals, elements],
|
|
style: "lowerCase",
|
|
length: 3,
|
|
separator: "-",
|
|
});
|
|
}
|