all = {
const name = (name, logo) => elem => ({ ...elem, name, logo });
return [
...[{ period: [1908] }].map(name("General Motors")),
...[{ period: [1911, 1918] }, { period: [1918], p: "General Motors" }].map(
name("Chevrolet")
),
...[{ period: [1989, 1997], p: "Chevrolet" }].map(name("Geo")),
...[{ period: [1985, 1990], p: "General Motors" }].map(name("Saturn")),
...[
{ period: [1897, 1908] },
{ period: [1908, 2004], p: "General Motors" }
].map(name("Oldsmobile")),
...[{ period: [1899, 1908] }, { period: [1908], p: "General Motors" }].map(
name("Buick")
),
...[{ period: [1902, 1909] }, { period: [1909], p: "General Motors" }].map(
name("Cadillac")
),
...[{ period: [1926, 2010], p: "General Motors" }].map(name("Pontiac")),
...[{ period: [1856, 1931] }, { period: [1931], p: "General Motors" }].map(
name("Holden")
),
...[{ period: [1903] }].map(
name("Ford", "https://www.carlogos.org/logo/Ford-logo-2003-640x240.jpg")
),
...[{ period: [1917, 1922] }, { period: [1922], p: "Ford" }].map(
name("Lincoln")
),
...[{ period: [1937] }].map(
name(
"VW",
"https://www.carlogos.org/logo/Volkswagen-logo-2015-640x550.jpg"
)
),
...[
{ period: [1910, 1910] },
{ period: [1932, 1969], p: "Auto Union" },
{ period: [1969], p: "VW" }
].map(name("Audi")),
...[{ period: [1931, 1937] }, { period: [1937], p: "VW" }].map(
name("Porsche")
),
...[{ period: [1963, 1998] }, { period: [1998], p: "Audi" }].map(
name("Lamborghini")
),
...[
{ period: [1919, 1931] },
{ period: [1931, 1980], p: "Rolls Royce" },
{ period: [1980, 1998], p: "Vickers" },
{ period: [1998], p: "VW" }
].map(name("Bentley")),
/* Chrysler */
...[
{ period: [1925, 1998] },
{ period: [1998, 2007], p: "DaimlerChrysler" },
{ period: [2007, 2014] },
{ period: [2014], p: "Fiat Chrysler" }
].map(name("Chrysler")),
...[{ period: [2014] }].map(
name(
"Fiat Chrysler",
"https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Fiat_Chrysler_Automobiles_logo.svg/1200px-Fiat_Chrysler_Automobiles_logo.svg.png"
)
),
...[
{ period: [1945, 1970] },
{ period: [1970, 1986], p: "AMC" },
{ period: [1987], p: "Chrysler" }
].map(name("Jeep")),
...[
{ period: [1978, 1986], p: "British Leyland" },
{ period: [1986, 1994], p: "Rover Group" },
{ period: [1994, 2000], p: "BMW" },
{ period: [2000, 2008], p: "Ford" },
{ period: [2008, 2012], p: "Tata" },
{ period: [2012], p: "Jaguar Land Rover" }
].map(name("Land Rover")),
...[{ period: [1998, 2007] }].map(
name(
"DaimlerChrysler",
"https://www.carlogos.org/logo/Daimler-logo-640x80.jpg"
)
),
/* Nissan */
...[{ period: [1933] }].map(name("Nissan")),
...[{ period: [1989], p: "Nissan" }].map(name("Infiniti")),
/* Toyota */
...[{ period: [1937] }].map(
name(
"Toyota",
"https://www.carlogos.org/logo/Toyota-logo-1989-640x524.jpg"
)
),
...[{ period: [1989], p: "Toyota" }].map(name("Lexus")),
...[{ period: [2003, 2016], p: "Toyota" }].map(name("Scion")),
/* Honda */
...[{ period: [1946] }].map(name("Honda")),
...[{ period: [1986], p: "Honda" }].map(name("Acura")),
/* BMW */
...[{ period: [1916] }].map(name("BMW")),
/* Movers */
...[
{ period: [1906, 1971] },
{ period: [1971, 1980], p: "British taxpayer-owned" },
{ period: [1980, 2003], p: "Vickers" },
{ period: [2003], p: "BMW" }
].map(name("Rolls Royce")),
...[
{ period: [1933, 1966] },
{ period: [1966, 1968], p: "British Motor Holdings" },
{ period: [1968, 1984], p: "British Leyland" },
{ period: [1990, 2008], p: "Ford" },
{ period: [2008, 2012], p: "Tata" },
{ period: [2012], p: "Jaguar Land Rover" }
].map(name("Jaguar")),
...[
{ period: [1927, 1999] },
{ period: [1999, 2000], p: "Ford" },
{ period: [2000], p: "Geely Holding Group" }
].map(name("Volvo")),
/* Independents */
...[{ period: [1899, 2014] }].map(name("Fiat")),
...[{ period: [2003] }].map(name("Tesla")),
...[{ period: [1868] }].map(name("Tata")),
...[{ period: [1999] }].map(name("Spyker")),
...[
{ period: [1945, 1968] },
{
period: [1990, 2010],
p: "General Motors"
},
{
period: [2010, 2012],
p: "Spyker"
}
].map(name("Saab")),
...[{ period: [1954, 1988] }].map(
name(
"AMC",
"https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/American-motors.svg/1200px-American-motors.svg.png"
)
)
].map(({ name, logo, p: parent, holding, period }) => ({
name,
period,
logo:
logo ||
`https://www.carlogos.org/logo/${name.replace(/ /, "-")}-logo.png`,
parent
}));
}