Skip to content

Instantly share code, notes, and snippets.

@ultim8k
Last active March 24, 2021 11:11
Show Gist options
  • Save ultim8k/2c2b65ae97c22d5a9c77b8f5b1d1c4cf to your computer and use it in GitHub Desktop.
Save ultim8k/2c2b65ae97c22d5a9c77b8f5b1d1c4cf to your computer and use it in GitHub Desktop.
Pub Name Generator
/*
* pubNameGenerator
*
* Copied parts from: https://github.com/pablorecio/pubnamegenerator
* License: MIT
*
*/
const THINGS = [
"Albion",
"Anchor",
"Angel",
"Artillery",
"Axe",
"Badge",
"Banker",
"Bear",
"Bell",
"Britannie",
"Camel",
"Carpenter",
"Castle",
"Churchill",
"Cliff",
"Coat",
"Developer",
"Dicks",
"Durham",
"Eagle",
"Englishman",
"Falcon",
"Florence",
"Fox",
"Freelance",
"French",
"Grill",
"Guitar",
"Hare",
"Harlequin",
"Head",
"Hop",
"Hope",
"Horse",
"Hound",
"House",
"Keys",
"Lamb",
"Lion",
"Moon",
"Oak",
"Peacock",
"Phoenix",
"Prison",
"Recruiter",
"Rose",
"Scotsman",
"Shakespeare",
"Ship",
"Spaniard",
"Staff",
"Star",
"Sun",
"Swan",
"Tiger",
"Trinity",
"UKIP",
"Wanker",
"Windmill",
"Woodman"
];
const ADJECTIVES = [
"Black",
"Blue",
"Five",
"Four",
"Golden",
"Gorgeous",
"Handsome",
"Hanged",
"Happy",
"Mad",
"Naughty",
"Old",
"One",
"Posh",
"Racist",
"Red",
"Retarded",
"Sad",
"Sarcastic",
"Silly",
"Smelly",
"Three",
"Two",
"Ugly",
"White"
];
const TITLES = [
"Bishop",
"Clown",
"Duke",
"Earl",
"Lord",
"Marquess",
"Molester",
"Prince",
"Smoker",
"Stalker",
"Viscount",
"Wanker"
];
const TUBE_STOPS = [
"Acton Town",
"Acton Central",
"Acton Central",
"Aldgate",
"Aldgate East",
"Alperton",
"Amersham",
"Angel",
"Archway",
"Arnos Grove",
"Arsenal",
"Baker Street",
"Baker Street",
"Balham",
"Bank",
"Barbican",
"Barking",
"Barkingside",
"Barons Court",
"Bayswater",
"Becontree",
"Belsize Park",
"Bermondsey",
"Bethnal Green",
"Blackfriars",
"Blackhorse Road",
"Bond Street",
"Borough",
"Boston Manor",
"Bounds Green",
"Bow Road",
"Brent Cross",
"Brixton",
"Bromley-by-Bow",
"Brondesbury",
"Brondesbury Park",
"Buckhurst Hill",
"Burnt Oak",
"Caledonian Road",
"Caledonian Road & Barnesbury",
"Camden Road",
"Camden Town",
"Canada Water",
"Canary Wharf",
"Cannon Street",
"Canonbury",
"Canons Park",
"Chalfont & Latimer",
"Chalk Farm",
"Chancery Lane",
"Charing Cross",
"Chesham",
"Chigwell",
"Chiswick Park",
"Chorleywood",
"City Thameslink",
"Clapham Common",
"Clapham North",
"Clapham South",
"Cockfosters",
"Colindale",
"Colliers Wood",
"Covent Garden",
"Croxley",
"Dagenham East",
"Dagenham Heathway",
"Dalston Kingsland",
"Debden",
"Dollis Hill",
"Ealing Broadway",
"Ealing Common",
"Earl's Court",
"East Acton",
"East Finchley",
"East Ham",
"East Putney",
"Eastcote",
"Edgware",
"Edgware Road (Bakerloo Line)",
"Edgware Road (Circle Line)",
"Elephant & Castle",
"Elm Park",
"Embankment",
"Epping",
"Euston",
"Euston Square",
"Fairlop",
"Farringdon",
"Farringdon",
"Finchley Central",
"Finchley Road",
"Finchley Road and Frognal",
"Finsbury Park",
"Fulham Broadway",
"Gants Hill",
"Gloucester Road",
"Golders Green",
"Goldhawk Road",
"Goodge Street",
"Gospel Oak",
"Grange Hill",
"Great Portland Street",
"Greenford",
"Gunnersbury",
"Green Park",
"Hackney Central",
"Hackney Wick",
"Hainault",
"Hammersmith (Dist&Picc Line)",
"Hammersmith (H&C Line)",
"Hampstead",
"Hampstead Heath",
"Hanger Lane",
"Harlesden",
"Harrow & Wealdstone",
"Harrow-on-the-Hill",
"Hatton Cross",
"Heathrow Terminals 1-2-3",
"Heathrow Terminal 4",
"Hendon Central",
"High Barnet",
"High Street Kensington",
"Highbury & Islington",
"Highgate",
"Hillingdon",
"Holborn",
"Holland Park",
"Holloway Road",
"Homerton",
"Hornchurch",
"Hounslow Central",
"Hounslow East",
"Hounslow West",
"Hyde Park Corner",
"Ickenham",
"Kennington",
"Kensal Green",
"Kensal Rise",
"Kensington (Olympia)",
"Kentish Town",
"Kentish Town West",
"Kenton",
"Kew Gardens",
"Kilburn",
"Kilburn Park",
"King's Cross St.Pancras",
"King's Cross Thameslink",
"Kingsbury",
"Knightsbridge",
"Ladbroke Grove",
"Lambeth North",
"Lancaster Gate",
"Latimer Road",
"Leicester Square",
"Leyton",
"Leytonstone",
"Liverpool Street",
"London Bridge",
"Loughton",
"Maida Vale",
"Manor House",
"Mansion House",
"Marble Arch",
"Marylebone",
"Mile End",
"Mill Hill East",
"Monument",
"Moor Park",
"Moorgate",
"Morden",
"Mornington Crescent",
"Neasden",
"New Cross",
"New Cross Gate",
"Newbury Park",
"North Acton",
"North Ealing",
"North Greenwich",
"North Harrow",
"North Wembley",
"Northfields",
"Northolt",
"Northolt",
"Northwick Park",
"Northwood",
"Northwood Hills",
"Notting Hill Gate",
"Oakwood",
"Old Street",
"Osterley",
"Oval",
"Oxford Circus",
"Paddington",
"Paddington (H&C Line)",
"Park Royal",
"Parsons Green",
"Perivale",
"Piccadilly Circus",
"Pimlico",
"Pinner",
"Plaistow",
"Preston Road",
"Putney Bridge",
"Queen's Park",
"Queensbury",
"Queensway",
"Ravenscourt Park",
"Rayners Lane",
"Redbridge",
"Regent's Park",
"Richmond",
"Richmond",
"Rickmansworth",
"Roding Valley",
"Rotherhithe",
"Royal Oak",
"Ruislip",
"Ruislip Gardens",
"Ruislip Manor",
"Russell Square",
"St.James's Park",
"Seven Sisters",
"Shadwell",
"Shepherd's Bush",
"Shepherd's Bush Market",
"Sloane Square",
"Snaresbrook",
"South Acton",
"South Ealing",
"South Harrow",
"South Kensington",
"South Kenton",
"South Ruislip",
"South Wimbledon",
"South Woodford",
"Southfields",
"Southgate",
"Southwark",
"St.John's Wood",
"St.Paul's",
"Stamford Brook",
"Stanmore",
"Stepney Green",
"Stockwell",
"Stonebridge Park",
"Stratford",
"Stratford",
"Sudbury Hill",
"Sudbury Town",
"Surrey Quays",
"Swiss Cottage",
"Temple",
"Theydon Bois",
"Tooting Bec",
"Tooting Broadway",
"Tottenham Court Road",
"Tottenham Court Road",
"Tottenham Hale",
"Totteridge & Whetstone",
"Tower Hill",
"Tufnell Park",
"Turnham Green",
"Turnpike Lane",
"Upminster",
"Upminster Bridge",
"Upney",
"Upton Park",
"Uxbridge",
"Vauxhall",
"Victoria",
"Walthamstow Central",
"Wanstead",
"Wapping",
"Warren Street",
"Warwick Avenue",
"Waterloo",
"Watford",
"Wembley Central",
"Wembley Park",
"West Acton",
"West Brompton",
"West Finchley",
"West Ham",
"West Hampstead",
"West Hampstead",
"West Hampstead",
"West Hampstead",
"West Harrow",
"West Kensington",
"West Ruislip",
"Westbourne Park",
"Westminster",
"White City",
"Whitechapel",
"Willesden Green",
"Willesden Junction",
"Willesden Junction",
"Wimbledon",
"Wimbledon Park",
"Wood Green",
"Woodford",
"Woodside Park"
];
const randomChoice = items => items[Math.floor(Math.random() * items.length)];
const theThing = () => `The ${randomChoice(THINGS)}`;
const theAdjectiveThing = () =>
`The ${randomChoice(ADJECTIVES)} ${randomChoice(THINGS)}`;
const theThingArms = () => `The ${randomChoice(THINGS)} Arms`;
const theThingAndThing = () =>
`The ${randomChoice(THINGS)} and ${randomChoice(THINGS)}`;
const theTitleOfSomewhere = () =>
`The ${randomChoice(TITLES)} of ${randomChoice(TUBE_STOPS)}`;
const generatePubName = () =>
randomChoice([
theThing,
theAdjectiveThing,
theThingArms,
theThingAndThing,
theTitleOfSomewhere
])();
console.log(generatePubName());
enum Thing {
Albion = "Albion",
Anchor = "Anchor",
Angel = "Angel",
Artillery = "Artillery",
Axe = "Axe",
Badge = "Badge",
Banker = "Banker",
Bear = "Bear",
Bell = "Bell",
Britannie = "Britannie",
Camel = "Camel",
Carpenter = "Carpenter",
Castle = "Castle",
Churchill = "Churchill",
Cliff = "Cliff",
Coat = "Coat",
Developer = "Developer",
Dicks = "Dicks",
Durham = "Durham",
Eagle = "Eagle",
Englishman = "Englishman",
Falcon = "Falcon",
Florence = "Florence",
Fox = "Fox",
Freelance = "Freelance",
French = "French",
Grill = "Grill",
Guitar = "Guitar",
Hare = "Hare",
Harlequin = "Harlequin",
Head = "Head",
Hop = "Hop",
Hope = "Hope",
Horse = "Horse",
Hound = "Hound",
House = "House",
Keys = "Keys",
Lamb = "Lamb",
Lion = "Lion",
Moon = "Moon",
Oak = "Oak",
Peacock = "Peacock",
Phoenix = "Phoenix",
Prison = "Prison",
Recruiter = "Recruiter",
Rose = "Rose",
Scotsman = "Scotsman",
Shakespeare = "Shakespeare",
Ship = "Ship",
Spaniard = "Spaniard",
Staff = "Staff",
Star = "Star",
Sun = "Sun",
Swan = "Swan",
Tiger = "Tiger",
Trinity = "Trinity",
UKIP = "UKIP",
Wanker = "Wanker",
Windmill = "Windmill",
Woodman = "Woodman"
}
enum Adjective {
Black = "Black",
Blue = "Blue",
Five = "Five",
Four = "Four",
Golden = "Golden",
Gorgeous = "Gorgeous",
Handsome = "Handsome",
Hanged = "Hanged",
Happy = "Happy",
Mad = "Mad",
Naughty = "Naughty",
Old = "Old",
One = "One",
Posh = "Posh",
Racist = "Racist",
Red = "Red",
Retarded = "Retarded",
Sad = "Sad",
Sarcastic = "Sarcastic",
Silly = "Silly",
Smelly = "Smelly",
Three = "Three",
Two = "Two",
Ugly = "Ugly",
White = "White"
}
enum Title {
Bishop = "Bishop",
Clown = "Clown",
Duke = "Duke",
Earl = "Earl",
Lord = "Lord",
Marquess = "Marquess",
Molester = "Molester",
Prince = "Prince",
Smoker = "Smoker",
Stalker = "Stalker",
Viscount = "Viscount",
Wanker = "Wanker",
}
enum TubeStop {
ActonTown = "Acton Town",
ActonCentral = "Acton Central",
Aldgate = "Aldgate",
AldgateEast = "Aldgate East",
Alperton = "Alperton",
Amersham = "Amersham",
Angel = "Angel",
Archway = "Archway",
ArnosGrove = "Arnos Grove",
Arsenal = "Arsenal",
BakerStreet = "Baker Street",
Balham = "Balham",
Bank = "Bank",
Barbican = "Barbican",
Barking = "Barking",
Barkingside = "Barkingside",
BaronsCourt = "Barons Court",
Bayswater = "Bayswater",
Becontree = "Becontree",
BelsizePark = "Belsize Park",
Bermondsey = "Bermondsey",
BethnalGreen = "Bethnal Green",
Blackfriars = "Blackfriars",
BlackhorseRoad = "Blackhorse Road",
BondStreet = "Bond Street",
Borough = "Borough",
BostonManor = "Boston Manor",
BoundsGreen = "Bounds Green",
BowRoad = "Bow Road",
BrentCross = "Brent Cross",
Brixton = "Brixton",
BromleyByBow = "Bromley-by-Bow",
Brondesbury = "Brondesbury",
BrondesburyPark = "Brondesbury Park",
BuckhurstHill = "Buckhurst Hill",
BurntOak = "Burnt Oak",
CaledonianRoad = "Caledonian Road",
CaledonianRoadBarnesbury = "Caledonian Road & Barnesbury",
CamdenRoad = "Camden Road",
CamdenTown = "Camden Town",
CanadaWater = "Canada Water",
CanaryWharf = "Canary Wharf",
CannonStreet = "Cannon Street",
Canonbury = "Canonbury",
CanonsPark = "Canons Park",
ChalfontLatimer = "Chalfont & Latimer",
ChalkFarm = "Chalk Farm",
ChanceryLane = "Chancery Lane",
CharingCross = "Charing Cross",
Chesham = "Chesham",
Chigwell = "Chigwell",
ChiswickPark = "Chiswick Park",
Chorleywood = "Chorleywood",
CityThameslink = "City Thameslink",
ClaphamCommon = "Clapham Common",
ClaphamNorth = "Clapham North",
ClaphamSouth = "Clapham South",
Cockfosters = "Cockfosters",
Colindale = "Colindale",
ColliersWood = "Colliers Wood",
CoventGarden = "Covent Garden",
Croxley = "Croxley",
DagenhamEast = "Dagenham East",
DagenhamHeathway = "Dagenham Heathway",
DalstonKingsland = "Dalston Kingsland",
Debden = "Debden",
DollisHill = "Dollis Hill",
EalingBroadway = "Ealing Broadway",
EalingCommon = "Ealing Common",
EarlSCourt = "Earl's Court",
EastActon = "East Acton",
EastFinchley = "East Finchley",
EastHam = "East Ham",
EastPutney = "East Putney",
Eastcote = "Eastcote",
Edgware = "Edgware",
EdgwareRoadBakerlooLine = "Edgware Road (Bakerloo Line)",
EdgwareRoadCircleLine = "Edgware Road (Circle Line)",
ElephantCastle = "Elephant & Castle",
ElmPark = "Elm Park",
Embankment = "Embankment",
Epping = "Epping",
Euston = "Euston",
EustonSquare = "Euston Square",
Fairlop = "Fairlop",
Farringdon = "Farringdon",
FinchleyCentral = "Finchley Central",
FinchleyRoad = "Finchley Road",
FinchleyRoadAndFrognal = "Finchley Road and Frognal",
FinsburyPark = "Finsbury Park",
FulhamBroadway = "Fulham Broadway",
GantsHill = "Gants Hill",
GloucesterRoad = "Gloucester Road",
GoldersGreen = "Golders Green",
GoldhawkRoad = "Goldhawk Road",
GoodgeStreet = "Goodge Street",
GospelOak = "Gospel Oak",
GrangeHill = "Grange Hill",
GreatPortlandStreet = "Great Portland Street",
Greenford = "Greenford",
Gunnersbury = "Gunnersbury",
GreenPark = "Green Park",
HackneyCentral = "Hackney Central",
HackneyWick = "Hackney Wick",
Hainault = "Hainault",
HammersmithDistPiccLine = "Hammersmith (Dist&Picc Line)",
HammersmithHCLine = "Hammersmith (H&C Line)",
Hampstead = "Hampstead",
HampsteadHeath = "Hampstead Heath",
HangerLane = "Hanger Lane",
Harlesden = "Harlesden",
HarrowWealdstone = "Harrow & Wealdstone",
HarrowOnTheHill = "Harrow-on-the-Hill",
HattonCross = "Hatton Cross",
HeathrowTerminals_1_2_3 = "Heathrow Terminals 1-2-3",
HeathrowTerminal_4 = "Heathrow Terminal 4",
HendonCentral = "Hendon Central",
HighBarnet = "High Barnet",
HighStreetKensington = "High Street Kensington",
HighburyIslington = "Highbury & Islington",
Highgate = "Highgate",
Hillingdon = "Hillingdon",
Holborn = "Holborn",
HollandPark = "Holland Park",
HollowayRoad = "Holloway Road",
Homerton = "Homerton",
Hornchurch = "Hornchurch",
HounslowCentral = "Hounslow Central",
HounslowEast = "Hounslow East",
HounslowWest = "Hounslow West",
HydeParkCorner = "Hyde Park Corner",
Ickenham = "Ickenham",
Kennington = "Kennington",
KensalGreen = "Kensal Green",
KensalRise = "Kensal Rise",
KensingtonOlympia = "Kensington (Olympia)",
KentishTown = "Kentish Town",
KentishTownWest = "Kentish Town West",
Kenton = "Kenton",
KewGardens = "Kew Gardens",
Kilburn = "Kilburn",
KilburnPark = "Kilburn Park",
KingSCrossStPancras = "King's Cross St.Pancras",
KingSCrossThameslink = "King's Cross Thameslink",
Kingsbury = "Kingsbury",
Knightsbridge = "Knightsbridge",
LadbrokeGrove = "Ladbroke Grove",
LambethNorth = "Lambeth North",
LancasterGate = "Lancaster Gate",
LatimerRoad = "Latimer Road",
LeicesterSquare = "Leicester Square",
Leyton = "Leyton",
Leytonstone = "Leytonstone",
LiverpoolStreet = "Liverpool Street",
LondonBridge = "London Bridge",
Loughton = "Loughton",
MaidaVale = "Maida Vale",
ManorHouse = "Manor House",
MansionHouse = "Mansion House",
MarbleArch = "Marble Arch",
Marylebone = "Marylebone",
MileEnd = "Mile End",
MillHillEast = "Mill Hill East",
Monument = "Monument",
MoorPark = "Moor Park",
Moorgate = "Moorgate",
Morden = "Morden",
MorningtonCrescent = "Mornington Crescent",
Neasden = "Neasden",
NewCross = "New Cross",
NewCrossGate = "New Cross Gate",
NewburyPark = "Newbury Park",
NorthActon = "North Acton",
NorthEaling = "North Ealing",
NorthGreenwich = "North Greenwich",
NorthHarrow = "North Harrow",
NorthWembley = "North Wembley",
Northfields = "Northfields",
Northolt = "Northolt",
NorthwickPark = "Northwick Park",
Northwood = "Northwood",
NorthwoodHills = "Northwood Hills",
NottingHillGate = "Notting Hill Gate",
Oakwood = "Oakwood",
OldStreet = "Old Street",
Osterley = "Osterley",
Oval = "Oval",
OxfordCircus = "Oxford Circus",
Paddington = "Paddington",
PaddingtonHCLine = "Paddington (H&C Line)",
ParkRoyal = "Park Royal",
ParsonsGreen = "Parsons Green",
Perivale = "Perivale",
PiccadillyCircus = "Piccadilly Circus",
Pimlico = "Pimlico",
Pinner = "Pinner",
Plaistow = "Plaistow",
PrestonRoad = "Preston Road",
PutneyBridge = "Putney Bridge",
QueenSPark = "Queen's Park",
Queensbury = "Queensbury",
Queensway = "Queensway",
RavenscourtPark = "Ravenscourt Park",
RaynersLane = "Rayners Lane",
Redbridge = "Redbridge",
RegentSPark = "Regent's Park",
Richmond = "Richmond",
Rickmansworth = "Rickmansworth",
RodingValley = "Roding Valley",
Rotherhithe = "Rotherhithe",
RoyalOak = "Royal Oak",
Ruislip = "Ruislip",
RuislipGardens = "Ruislip Gardens",
RuislipManor = "Ruislip Manor",
RussellSquare = "Russell Square",
StJamesSPark = "St.James's Park",
SevenSisters = "Seven Sisters",
Shadwell = "Shadwell",
ShepherdSBush = "Shepherd's Bush",
ShepherdSBushMarket = "Shepherd's Bush Market",
SloaneSquare = "Sloane Square",
Snaresbrook = "Snaresbrook",
SouthActon = "South Acton",
SouthEaling = "South Ealing",
SouthHarrow = "South Harrow",
SouthKensington = "South Kensington",
SouthKenton = "South Kenton",
SouthRuislip = "South Ruislip",
SouthWimbledon = "South Wimbledon",
SouthWoodford = "South Woodford",
Southfields = "Southfields",
Southgate = "Southgate",
Southwark = "Southwark",
StJohnSWood = "St.John's Wood",
StPaulS = "St.Paul's",
StamfordBrook = "Stamford Brook",
Stanmore = "Stanmore",
StepneyGreen = "Stepney Green",
Stockwell = "Stockwell",
StonebridgePark = "Stonebridge Park",
Stratford = "Stratford",
SudburyHill = "Sudbury Hill",
SudburyTown = "Sudbury Town",
SurreyQuays = "Surrey Quays",
SwissCottage = "Swiss Cottage",
Temple = "Temple",
TheydonBois = "Theydon Bois",
TootingBec = "Tooting Bec",
TootingBroadway = "Tooting Broadway",
TottenhamCourtRoad = "Tottenham Court Road",
TottenhamHale = "Tottenham Hale",
TotteridgeWhetstone = "Totteridge & Whetstone",
TowerHill = "Tower Hill",
TufnellPark = "Tufnell Park",
TurnhamGreen = "Turnham Green",
TurnpikeLane = "Turnpike Lane",
Upminster = "Upminster",
UpminsterBridge = "Upminster Bridge",
Upney = "Upney",
UptonPark = "Upton Park",
Uxbridge = "Uxbridge",
Vauxhall = "Vauxhall",
Victoria = "Victoria",
WalthamstowCentral = "Walthamstow Central",
Wanstead = "Wanstead",
Wapping = "Wapping",
WarrenStreet = "Warren Street",
WarwickAvenue = "Warwick Avenue",
Waterloo = "Waterloo",
Watford = "Watford",
WembleyCentral = "Wembley Central",
WembleyPark = "Wembley Park",
WestActon = "West Acton",
WestBrompton = "West Brompton",
WestFinchley = "West Finchley",
WestHam = "West Ham",
WestHampstead = "West Hampstead",
WestHarrow = "West Harrow",
WestKensington = "West Kensington",
WestRuislip = "West Ruislip",
WestbournePark = "Westbourne Park",
Westminster = "Westminster",
WhiteCity = "White City",
Whitechapel = "Whitechapel",
WillesdenGreen = "Willesden Green",
WillesdenJunction = "Willesden Junction",
Wimbledon = "Wimbledon",
WimbledonPark = "Wimbledon Park",
WoodGreen = "Wood Green",
Woodford = "Woodford",
WoodsidePark = "Woodside Park"
}
type TheThing = `The ${Thing}`;
type TheAdjectiveThing = `The ${Adjective} ${Thing}`;
type TheThingArms = `The ${Thing} Arms`;
type TheThingAndThing = `The ${Thing} and ${Thing}`;
type TheTitleOfSomewhere = `The ${Title} of ${TubeStop}`;
type NameChunk
= Thing
| Adjective
| Title
| TubeStop
type PubName
= TheThing
| TheAdjectiveThing
| TheThingArms
| TheThingAndThing
| TheTitleOfSomewhere
type Item
= NameChunk
| PubName
const getRandomIndex = (arrayLength: number): number => Math.floor(Math.random() * arrayLength);
function randomChoice<T> (items: T[]): T {
return items[getRandomIndex(items.length)]
};
const getTheThing = (): TheThing => `The ${randomChoice(Object.values(Thing))}` as TheThing;
const theAdjectiveThing = (): TheAdjectiveThing => `The ${randomChoice(Object.values(Adjective))} ${randomChoice(Object.values(Thing))}` as TheAdjectiveThing;
const theThingArms = (): TheThingArms => `The ${randomChoice(Object.values(Thing))} Arms` as TheThingArms;
const theThingAndThing = (): TheThingAndThing => `The ${randomChoice(Object.values(Thing))} and ${randomChoice(Object.values(Thing))}` as TheThingAndThing;
const theTitleOfSomewhere = (): TheTitleOfSomewhere => `The ${randomChoice(Object.values(Thing))} of ${randomChoice(Object.values(TubeStop))}` as TheTitleOfSomewhere;
const getPubName = (): PubName => randomChoice([
getTheThing(),
theAdjectiveThing(),
theThingArms(),
theThingAndThing(),
theTitleOfSomewhere()
]);
console.log(getPubName());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment