import { stringToHash } from './strings';

export function nameFromSessionId(sessionId = ''): string {
	const hash = stringToHash(sessionId, names.length);
	return names[hash];
}

const names = [
	'AlphaAlgorithm',
	'AlphaAmaryllis',
	'AlphaAster',
	'ApexAstra',
	'ArrayArcher',
	'ArrayAurora',
	'AuroraCipher',
	'AzurePeek',
	'BandwidthBarbarian',
	'BinaryBard',
	'BinaryBaron',
	'BinaryBlaze',
	'BinaryWhim',
	'BitBattler',
	'BitBegonia',
	'BitBouvardia',
	'BitBreeze',
	'ByteBuccaneer',
	'ByteCrusader',
	'CacheCavalier',
	'CacheKnight',
	'CelestiaChime',
	'CelestialNomad',
	'ChromaChant',
	'CipherLynx',
	'CipherSamurai',
	'CircuitCenturion',
	'CloudChampion',
	'CloudCorsair',
	'CobaltCraze',
	'CodeCarnation',
	'CodeCatalyst',
	'CodeCavalry',
	'CodeConqueror',
	'CodeCosmos',
	'CodeCrocus',
	'CosmicCharm',
	'CryptoKnight',
	'DataDahlia',
	'DataDaisy',
	'DataDawn',
	'DataDrifter',
	'DataDrifter',
	'DataVanguard',
	'DigitalDefender',
	'DigitalDervish',
	'DiskDuelist',
	'DreamDiviner',
	'DuneWhisperer',
	'EchoEclipse',
	'EchoEdelweiss',
	'EchoElement',
	'EchoEuphorbia',
	'EchoSavant',
	'EchoScribe',
	'EmberFlux',
	'EtherealSprite',
	'EtherTide',
	'FirewallFencer',
	'FirmwareWarrior',
	'FlareSpectre',
	'FluxEcho',
	'FractalPhantom',
	'FrameFighter',
	'FrostFlare',
	'FrostFragment',
	'FrostFreesia',
	'FrostFuchsia',
	'FrostWhisper',
	'GigaGardenia',
	'GigaGeranium',
	'GigaGleam',
	'GigaGlow',
	'GlimmerVoid',
	'GlyphSeeker',
	'HackHerald',
	'HashHalo',
	'HashHibiscus',
	'HashHorizon',
	'HashHydrangea',
	'HorizonHalo',
	'InfiniteImpatiens',
	'InfiniteInk',
	'InfiniteIris',
	'InfiniteIteration',
	'InfiniteIvy',
	'InterfaceInvoker',
	'IonMist',
	'JavaJaponica',
	'JavaJasmine',
	'JavaJewel',
	'JavaJuniper',
	'KernelKeeper',
	'KiloKaleidoscope',
	'KiloKalmia',
	'KiloKeen',
	'KiloKerria',
	'KineticKarma',
	'LogicLancer',
	'LogicLavender',
	'LogicLegionnaire',
	'LogicLilac',
	'LogicLily',
	'LogicLuminary',
	'LunarLattice',
	'MetaMagnolia',
	'MetaMarigold',
	'MetaMimosa',
	'MetaMist',
	'MirageCraft',
	'MirageMagnet',
	'ModuleMarauder',
	'MysticModem',
	'MysticNimbus',
	'MythicSage',
	'NebulaNavigator',
	'NebulaQuill',
	'NeonRogue',
	'NetNinja',
	'NetworkNomad',
	'NexusNarcissus',
	'NexusNasturtium',
	'NexusNebula',
	'NexusNemesia',
	'NodeNomad',
	'NovaPulse',
	'NovaWanderer',
	'OasisParadox',
	'OpcodeOleander',
	'OpcodeOrbit',
	'OpcodeOrchid',
	'OpcodeOxalis',
	'OrbitMirth',
	'PhantomFable',
	'PhantomTrace',
	'PinnaclePixie',
	'PixelDrift',
	'PixelPaladin',
	'PixelPansy',
	'PixelPetunia',
	'PixelPilgrim',
	'PixelPioneer',
	'PixelPoppy',
	'PixelProphet',
	'PixelPulse',
	'PluginPatriot',
	'PortalProphet',
	'PrismDancer',
	'ProgramPioneer',
	'ProtocolPaladin',
	'ProxyPaladin',
	'QuantumFrost',
	'QuantumQuakerGrass',
	'QuantumQueenAnneLace',
	'QuantumQuester',
	'QuantumQuill',
	'QuantumQuince',
	'QuantumVoyager',
	'QuasarWink',
	'RegexRanunculus',
	'RegexRipple',
	'RegexRose',
	'RegexRudbeckia',
	'RiddleRanger',
	'RiftRaider',
	'RouterRenegade',
	'SageSignal',
	'ScriptScout',
	'ScriptSentry',
	'SereneProwler',
	'ServerSquire',
	'ShadowGlyph',
	'SiliconSage',
	'SolarSprite',
	'SonicSage',
	'SparkSorcerer',
	'StackSedum',
	'StackSnapdragon',
	'StackStar',
	'StackStrider',
	'StackSunflower',
	'StaticRealm',
	'StaticSpectrum',
	'StellarMirth',
	'StorageSovereign',
	'StreamSwordsman',
	'SyntaxSentinel',
	'TeraThyme',
	'TeraTrillium',
	'TeraTulip',
	'TeraTwilight',
	'TerraEcho',
	'TerraFable',
	'ThreadThane',
	'TideTraveler',
	'TwilightSentry',
	'UnitUmbrellaPlant',
	'UnitUniverse',
	'UnitUrchin',
	'UnitUvaUrsi',
	'VectorVerbena',
	'VectorVinca',
	'VectorViolet',
	'VectorVortex',
	'VelvetMaze',
	'VerveSwirl',
	'VirtualSphinx',
	'VortexRiddle',
	'WebWanderer',
	'WebWaxflower',
	'WebWhirl',
	'WebWisteria',
	'WebWitchHazel',
	'WispWizard',
	'XenoXanthoceras',
	'XenoXenon',
	'XenoXeranthemum',
	'XenoXylosma',
	'YottaYarrow',
	'YottaYield',
	'YottaYucca',
	'YottaYucca',
	'ZenithWarden',
	'ZenPulse',
	'ZephyrByte',
	'ZettaZantedeschia',
	'ZettaZenith',
	'ZettaZephyranthes',
	'ZettaZinnia'
];
