From c50b44039eb70125dccb74d714d32239a401cb9a Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 6 Oct 2022 14:41:21 +0200 Subject: [PATCH] add the compat layer between v5 and v6 --- ...mpat__v5_to_v6__test__compat_v5_v6-10.snap | 2263 +++++++++++++++++ ...mpat__v5_to_v6__test__compat_v5_v6-12.snap | 71 + ...mpat__v5_to_v6__test__compat_v5_v6-13.snap | 533 ++++ ...ompat__v5_to_v6__test__compat_v5_v6-3.snap | 369 +++ ...ompat__v5_to_v6__test__compat_v5_v6-4.snap | 34 + ...ompat__v5_to_v6__test__compat_v5_v6-6.snap | 85 + ...ompat__v5_to_v6__test__compat_v5_v6-7.snap | 308 +++ ...ompat__v5_to_v6__test__compat_v5_v6-9.snap | 77 + dump/src/reader/compat/v5_to_v6.rs | 137 +- dump/src/reader/mod.rs | 28 +- dump/src/reader/v5/mod.rs | 26 +- 11 files changed, 3784 insertions(+), 147 deletions(-) create mode 100644 dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-10.snap create mode 100644 dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-12.snap create mode 100644 dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-13.snap create mode 100644 dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-3.snap create mode 100644 dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-4.snap create mode 100644 dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-6.snap create mode 100644 dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-7.snap create mode 100644 dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-9.snap diff --git a/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-10.snap b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-10.snap new file mode 100644 index 000000000..e43fb59f0 --- /dev/null +++ b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-10.snap @@ -0,0 +1,2263 @@ +--- +source: dump/src/reader/compat/v5_to_v6.rs +expression: documents +--- +[ + { + "id": String("287947"), + "title": String("Shazam!"), + "poster": String("https://image.tmdb.org/t/p/w500/xnopI5Xtky18MPhK40cZAGAOVeV.jpg"), + "overview": String("A boy is given the ability to become an adult superhero in times of need with a single magic word."), + "release_date": Number(1553299200), + "genres": Array [ + String("Action"), + String("Comedy"), + String("Fantasy"), + ], + }, + { + "id": String("299537"), + "title": String("Captain Marvel"), + "poster": String("https://image.tmdb.org/t/p/w500/AtsgWhDnHTq68L0lLsUrCnM7TjG.jpg"), + "overview": String("The story follows Carol Danvers as she becomes one of the universe’s most powerful heroes when Earth is caught in the middle of a galactic war between two alien races. Set in the 1990s, Captain Marvel is an all-new adventure from a previously unseen period in the history of the Marvel Cinematic Universe."), + "release_date": Number(1551830400), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Science Fiction"), + ], + }, + { + "id": String("522681"), + "title": String("Escape Room"), + "poster": String("https://image.tmdb.org/t/p/w500/8Ls1tZ6qjGzfGHjBB7ihOnf7f0b.jpg"), + "overview": String("Six strangers find themselves in circumstances beyond their control, and must use their wits to survive."), + "release_date": Number(1546473600), + "genres": Array [ + String("Thriller"), + String("Action"), + String("Horror"), + String("Science Fiction"), + ], + }, + { + "id": String("166428"), + "title": String("How to Train Your Dragon: The Hidden World"), + "poster": String("https://image.tmdb.org/t/p/w500/xvx4Yhf0DVH8G4LzNISpMfFBDy2.jpg"), + "overview": String("As Hiccup fulfills his dream of creating a peaceful dragon utopia, Toothless’ discovery of an untamed, elusive mate draws the Night Fury away. When danger mounts at home and Hiccup’s reign as village chief is tested, both dragon and rider must make impossible decisions to save their kind."), + "release_date": Number(1546473600), + "genres": Array [ + String("Animation"), + String("Family"), + String("Adventure"), + ], + }, + { + "id": String("450465"), + "title": String("Glass"), + "poster": String("https://image.tmdb.org/t/p/w500/svIDTNUoajS8dLEo7EosxvyAsgJ.jpg"), + "overview": String("In a series of escalating encounters, security guard David Dunn uses his supernatural abilities to track Kevin Wendell Crumb, a disturbed man who has twenty-four personalities. Meanwhile, the shadowy presence of Elijah Price emerges as an orchestrator who holds secrets critical to both men."), + "release_date": Number(1547596800), + "genres": Array [ + String("Documentary"), + ], + }, + { + "id": String("495925"), + "title": String("Doraemon the Movie: Nobita's Treasure Island"), + "poster": String("https://image.tmdb.org/t/p/w500/xiLRClQmKSVAbiu6rgCRzNQjcSX.jpg"), + "overview": String("The story is based on Robert Louis Stevenson's Treasure Island novel."), + "release_date": Number(1520035200), + "genres": Array [ + String("Animation"), + ], + }, + { + "id": String("329996"), + "title": String("Dumbo"), + "poster": String("https://image.tmdb.org/t/p/w500/deTOAcMWuHTjOUPQphwcPFFfTQz.jpg"), + "overview": String("A young elephant, whose oversized ears enable him to fly, helps save a struggling circus, but when the circus plans a new venture, Dumbo and his friends discover dark secrets beneath its shiny veneer."), + "release_date": Number(1553644800), + "genres": Array [ + String("Adventure"), + String("Family"), + String("Fantasy"), + ], + }, + { + "id": String("299536"), + "title": String("Avengers: Infinity War"), + "poster": String("https://image.tmdb.org/t/p/w500/7WsyChQLEftFiDOVTGkv3hFpyyt.jpg"), + "overview": String("As the Avengers and their allies have continued to protect the world from threats too large for any one hero to handle, a new danger has emerged from the cosmic shadows: Thanos. A despot of intergalactic infamy, his goal is to collect all six Infinity Stones, artifacts of unimaginable power, and use them to inflict his twisted will on all of reality. Everything the Avengers have fought for has led up to this moment - the fate of Earth and existence itself has never been more uncertain."), + "release_date": Number(1524618000), + "genres": Array [ + String("Adventure"), + String("Action"), + String("Science Fiction"), + ], + }, + { + "id": String("458723"), + "title": String("Us"), + "poster": String("https://image.tmdb.org/t/p/w500/ux2dU1jQ2ACIMShzB3yP93Udpzc.jpg"), + "overview": String("Husband and wife Gabe and Adelaide Wilson take their kids to their beach house expecting to unplug and unwind with friends. But as night descends, their serenity turns to tension and chaos when some shocking visitors arrive uninvited."), + "release_date": Number(1552521600), + "genres": Array [ + String("Documentary"), + String("Family"), + ], + }, + { + "id": String("424783"), + "title": String("Bumblebee"), + "poster": String("https://image.tmdb.org/t/p/w500/fw02ONlDhrYjTSZV8XO6hhU3ds3.jpg"), + "overview": String("On the run in the year 1987, Bumblebee finds refuge in a junkyard in a small Californian beach town. Charlie, on the cusp of turning 18 and trying to find her place in the world, discovers Bumblebee, battle-scarred and broken. When Charlie revives him, she quickly learns this is no ordinary yellow VW bug."), + "release_date": Number(1544832000), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Science Fiction"), + ], + }, + { + "id": String("353081"), + "title": String("Mission: Impossible - Fallout"), + "poster": String("https://image.tmdb.org/t/p/w500/AkJQpZp9WoNdj7pLYSj1L0RcMMN.jpg"), + "overview": String("When an IMF mission ends badly, the world is faced with dire consequences. As Ethan Hunt takes it upon himself to fulfill his original briefing, the CIA begin to question his loyalty and his motives. The IMF team find themselves in a race against time, hunted by assassins while trying to prevent a global catastrophe."), + "release_date": Number(1531443600), + "genres": Array [ + String("Action"), + String("Adventure"), + ], + }, + { + "id": String("8966"), + "title": String("Twilight"), + "poster": String("https://image.tmdb.org/t/p/w500/3Gkb6jm6962ADUPaCBqzz9CTbn9.jpg"), + "overview": String("When Bella Swan moves to a small town in the Pacific Northwest to live with her father, she meets the reclusive Edward Cullen, a mysterious classmate who reveals himself to be a 108-year-old vampire. Despite Edward's repeated cautions, Bella can't help but fall in love with him, a fatal move that endangers her own life when a coven of bloodsuckers try to challenge the Cullen clan."), + "release_date": Number(1227139200), + "genres": Array [ + String("Animation"), + ], + }, + { + "id": String("62"), + "title": String("2001: A Space Odyssey"), + "poster": String("https://image.tmdb.org/t/p/w500/zmmYdPa8Lxx999Af9vnVP4XQ1V6.jpg"), + "overview": String("Humanity finds a mysterious object buried beneath the lunar surface and sets off to find its origins with the help of HAL 9000, the world's most advanced super computer."), + "release_date": Number(-54604800), + "genres": Array [], + }, + { + "id": String("155"), + "title": String("The Dark Knight"), + "poster": String("https://image.tmdb.org/t/p/w500/qJ2tW6WMUDux911r6m7haRef0WH.jpg"), + "overview": String("Batman raises the stakes in his war on crime. With the help of Lt. Jim Gordon and District Attorney Harvey Dent, Batman sets out to dismantle the remaining criminal organizations that plague the streets. The partnership proves to be effective, but they soon find themselves prey to a reign of chaos unleashed by a rising criminal mastermind known to the terrified citizens of Gotham as the Joker."), + "release_date": Number(1216170000), + "genres": Array [ + String("Action"), + String("Crime"), + String("Drama"), + String("Thriller"), + ], + }, + { + "id": String("12445"), + "title": String("Harry Potter and the Deathly Hallows: Part 2"), + "poster": String("https://image.tmdb.org/t/p/w500/da22ZBmrDOXOCDRvr8Gic8ldhv4.jpg"), + "overview": String("Harry, Ron and Hermione continue their quest to vanquish the evil Voldemort once and for all. Just as things begin to look hopeless for the young wizards, Harry discovers a trio of magical objects that endow him with powers to rival Voldemort's formidable skills."), + "release_date": Number(1310000400), + "genres": Array [ + String("Fantasy"), + String("Adventure"), + ], + }, + { + "id": String("207703"), + "title": String("Kingsman: The Secret Service"), + "poster": String("https://image.tmdb.org/t/p/w500/ay7xwXn1G9fzX9TUBlkGA584rGi.jpg"), + "overview": String("The story of a super-secret spy organization that recruits an unrefined but promising street kid into the agency's ultra-competitive training program just as a global threat emerges from a twisted tech genius."), + "release_date": Number(1422057600), + "genres": Array [ + String("Crime"), + String("Comedy"), + String("Action"), + String("Adventure"), + ], + }, + { + "id": String("532321"), + "title": String("Re: Zero kara Hajimeru Isekai Seikatsu - Memory Snow"), + "poster": String("https://image.tmdb.org/t/p/w500/y7XwmyE5ue9hjk65fEWpO2hGU2B.jpg"), + "overview": String("Subaru and friends finally get a moment of peace, and Subaru goes on a certain secret mission that he must not let anyone find out about! However, even though Subaru is wearing a disguise, Petra and other children of the village immediately figure out who he is. Now that his mission was exposed within five seconds of it starting, what will happen with Subaru's 'date course' with Emilia?"), + "release_date": Number(1538787600), + "genres": Array [ + String("Animation"), + String("Adventure"), + ], + }, + { + "id": String("263115"), + "title": String("Logan"), + "poster": String("https://image.tmdb.org/t/p/w500/fnbjcRDYn6YviCcePDnGdyAkYsB.jpg"), + "overview": String("In the near future, a weary Logan cares for an ailing Professor X in a hideout on the Mexican border. But Logan's attempts to hide from the world and his legacy are upended when a young mutant arrives, pursued by dark forces."), + "release_date": Number(1488240000), + "genres": Array [ + String("Comedy"), + String("Drama"), + String("Family"), + ], + }, + { + "id": String("280217"), + "title": String("The Lego Movie 2: The Second Part"), + "poster": String("https://image.tmdb.org/t/p/w500/QTESAsBVZwjtGJNDP7utiGV37z.jpg"), + "overview": String("It's been five years since everything was awesome and the citizens are facing a huge new threat: LEGO DUPLO® invaders from outer space, wrecking everything faster than they can rebuild."), + "release_date": Number(1548460800), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Animation"), + String("Comedy"), + String("Family"), + String("Science Fiction"), + String("Fantasy"), + ], + }, + { + "id": String("135397"), + "title": String("Jurassic World"), + "poster": String("https://image.tmdb.org/t/p/w500/rhr4y79GpxQF9IsfJItRXVaoGs4.jpg"), + "overview": String("Twenty-two years after the events of Jurassic Park, Isla Nublar now features a fully functioning dinosaur theme park, Jurassic World, as originally envisioned by John Hammond."), + "release_date": Number(1433552400), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Science Fiction"), + ], + }, + { + "id": String("245891"), + "title": String("John Wick"), + "poster": String("https://image.tmdb.org/t/p/w500/fZPSd91yGE9fCcCe6OoQr6E3Bev.jpg"), + "overview": String("Ex-hitman John Wick comes out of retirement to track down the gangsters that took everything from him."), + "release_date": Number(1413939600), + "genres": Array [], + }, + { + "id": String("348350"), + "title": String("Solo: A Star Wars Story"), + "poster": String("https://image.tmdb.org/t/p/w500/4oD6VEccFkorEBTEDXtpLAaz0Rl.jpg"), + "overview": String("Through a series of daring escapades deep within a dark and dangerous criminal underworld, Han Solo meets his mighty future copilot Chewbacca and encounters the notorious gambler Lando Calrissian."), + "release_date": Number(1526346000), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Science Fiction"), + ], + }, + { + "id": String("543540"), + "title": String("The Perfect Date"), + "poster": String("https://image.tmdb.org/t/p/w500/m5LqnnkN09124CSE8yGskeCv3kb.jpg"), + "overview": String("No beau? No problem! To earn money for college, a high schooler creates a dating app that lets him act as a stand-in boyfriend."), + "release_date": Number(1555030800), + "genres": Array [ + String("Romance"), + String("Comedy"), + ], + }, + { + "id": String("12444"), + "title": String("Harry Potter and the Deathly Hallows: Part 1"), + "poster": String("https://image.tmdb.org/t/p/w500/iGoXIpQb7Pot00EEdwpwPajheZ5.jpg"), + "overview": String("Harry, Ron and Hermione walk away from their last year at Hogwarts to find and destroy the remaining Horcruxes, putting an end to Voldemort's bid for immortality. But with Harry's beloved Dumbledore dead and Voldemort's unscrupulous Death Eaters on the loose, the world is more dangerous than ever."), + "release_date": Number(1287277200), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + ], + }, + { + "id": String("198663"), + "title": String("The Maze Runner"), + "poster": String("https://image.tmdb.org/t/p/w500/ode14q7WtDugFDp78fo9lCsmay9.jpg"), + "overview": String("Set in a post-apocalyptic world, young Thomas is deposited in a community of boys after his memory is erased, soon learning they're all trapped in a maze that will require him to join forces with fellow “runners” for a shot at escape."), + "release_date": Number(1410310800), + "genres": Array [ + String("Action"), + String("Science Fiction"), + String("Thriller"), + ], + }, + { + "id": String("607"), + "title": String("Men in Black"), + "poster": String("https://image.tmdb.org/t/p/w500/uLOmOF5IzWoyrgIF5MfUnh5pa1X.jpg"), + "overview": String("After a police chase with an otherworldly being, a New York City cop is recruited as an agent in a top-secret organization established to monitor and police alien activity on Earth: the Men in Black. Agent Kay and new recruit Agent Jay find themselves in the middle of a deadly plot by an intergalactic terrorist who has arrived on Earth to assassinate two ambassadors from opposing galaxies."), + "release_date": Number(867805200), + "genres": Array [ + String("Comedy"), + ], + }, + { + "id": String("337339"), + "title": String("The Fate of the Furious"), + "poster": String("https://image.tmdb.org/t/p/w500/dImWM7GJqryWJO9LHa3XQ8DD5NH.jpg"), + "overview": String("When a mysterious woman seduces Dom into the world of crime and a betrayal of those closest to him, the crew face trials that will test them as never before."), + "release_date": Number(1491958800), + "genres": Array [ + String("Action"), + String("Crime"), + String("Thriller"), + ], + }, + { + "id": String("429471"), + "title": String("Captive State"), + "poster": String("https://image.tmdb.org/t/p/w500/cVo7lylXAUDGuvDZBUYaP8Zjbku.jpg"), + "overview": String("Nearly a decade after occupation by an extraterrestrial force, the lives of a Chicago neighborhood on both sides of the conflict are explored."), + "release_date": Number(1552608000), + "genres": Array [ + String("Science Fiction"), + ], + }, + { + "id": String("109445"), + "title": String("Frozen"), + "poster": String("https://image.tmdb.org/t/p/w500/mbPrrbt8bSLcHSBCHnRclPlMZPl.jpg"), + "overview": String("Young princess Anna of Arendelle dreams about finding true love at her sister Elsa’s coronation. Fate takes her on a dangerous journey in an attempt to end the eternal winter that has fallen over the kingdom. She's accompanied by ice delivery man Kristoff, his reindeer Sven, and snowman Olaf. On an adventure where she will find out what friendship, courage, family, and true love really means."), + "release_date": Number(1385510400), + "genres": Array [ + String("Thriller"), + ], + }, + { + "id": String("82702"), + "title": String("How to Train Your Dragon 2"), + "poster": String("https://image.tmdb.org/t/p/w500/d13Uj86LdbDLrfDoHR5aDOFYyJC.jpg"), + "overview": String("The thrilling second chapter of the epic How To Train Your Dragon trilogy brings back the fantastical world of Hiccup and Toothless five years later. While Astrid, Snotlout and the rest of the gang are challenging each other to dragon races (the island's new favorite contact sport), the now inseparable pair journey through the skies, charting unmapped territories and exploring new worlds. When one of their adventures leads to the discovery of a secret ice cave that is home to hundreds of new wild dragons and the mysterious Dragon Rider, the two friends find themselves at the center of a battle to protect the peace."), + "release_date": Number(1402275600), + "genres": Array [ + String("Fantasy"), + String("Action"), + String("Adventure"), + String("Animation"), + String("Comedy"), + String("Family"), + ], + }, + { + "id": String("423949"), + "title": String("Unicorn Store"), + "poster": String("https://image.tmdb.org/t/p/w500/rGe3eWy3F3qggDZMc86bASN4I7C.jpg"), + "overview": String("A woman named Kit moves back to her parent's house, where she receives a mysterious invitation that would fulfill her childhood dreams."), + "release_date": Number(1505091600), + "genres": Array [ + String("Fantasy"), + String("Drama"), + String("Comedy"), + ], + }, + { + "id": String("345940"), + "title": String("The Meg"), + "poster": String("https://image.tmdb.org/t/p/w500/xqECHNvzbDL5I3iiOVUkVPJMSbc.jpg"), + "overview": String("A deep sea submersible pilot revisits his past fears in the Mariana Trench, and accidentally unleashes the seventy foot ancestor of the Great White Shark believed to be extinct."), + "release_date": Number(1533776400), + "genres": Array [ + String("Science Fiction"), + String("Action"), + String("Thriller"), + ], + }, + { + "id": String("284052"), + "title": String("Doctor Strange"), + "poster": String("https://image.tmdb.org/t/p/w500/gwi5kL7HEWAOTffiA14e4SbOGra.jpg"), + "overview": String("After his career is destroyed, a brilliant but arrogant surgeon gets a new lease on life when a sorcerer takes him under her wing and trains him to defend the world against evil."), + "release_date": Number(1477357200), + "genres": Array [ + String("Action"), + String("Science Fiction"), + ], + }, + { + "id": String("537059"), + "title": String("Justice League vs. the Fatal Five"), + "poster": String("https://image.tmdb.org/t/p/w500/9F4yd1lnTKFHZkme1nuPWmH1hbl.jpg"), + "overview": String("The Justice League faces a powerful new threat — the Fatal Five! Superman, Batman and Wonder Woman seek answers as the time-traveling trio of Mano, Persuader and Tharok terrorize Metropolis in search of budding Green Lantern, Jessica Cruz. With her unwilling help, they aim to free remaining Fatal Five members Emerald Empress and Validus to carry out their sinister plan. But the Justice League has also discovered an ally from another time in the peculiar Star Boy — brimming with volatile power, could he be the key to thwarting the Fatal Five? An epic battle against ultimate evil awaits!"), + "release_date": Number(1553904000), + "genres": Array [ + String("Animation"), + String("Action"), + String("Science Fiction"), + ], + }, + { + "id": String("443055"), + "title": String("Love of My Life"), + "poster": String("https://image.tmdb.org/t/p/w500/7b19Sh0Aef5vGa0OFtvJxLe2SK9.jpg"), + "overview": String("What if you had only five days to figure out... everything."), + "release_date": Number(1487289600), + "genres": Array [ + String("Thriller"), + String("Horror"), + ], + }, + { + "id": String("32657"), + "title": String("Percy Jackson & the Olympians: The Lightning Thief"), + "poster": String("https://image.tmdb.org/t/p/w500/brzpTyZ5bnM7s53C1KSk1TmrMO6.jpg"), + "overview": String("Accident prone teenager, Percy discovers he's actually a demi-God, the son of Poseidon, and he is needed when Zeus' lightning is stolen. Percy must master his new found skills in order to prevent a war between the Gods that could devastate the entire world."), + "release_date": Number(1264982400), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + String("Family"), + ], + }, + { + "id": String("121"), + "title": String("The Lord of the Rings: The Two Towers"), + "poster": String("https://image.tmdb.org/t/p/w500/5VTN0pR8gcqV3EPUHHfMGnJYN9L.jpg"), + "overview": String("Frodo and Sam are trekking to Mordor to destroy the One Ring of Power while Gimli, Legolas and Aragorn search for the orc-captured Merry and Pippin. All along, nefarious wizard Saruman awaits the Fellowship members at the Orthanc Tower in Isengard."), + "release_date": Number(1040169600), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + String("Action"), + ], + }, + { + "id": String("131631"), + "title": String("The Hunger Games: Mockingjay - Part 1"), + "poster": String("https://image.tmdb.org/t/p/w500/ezHakxJHVXdPI6h3TKssEwXYtsg.jpg"), + "overview": String("Katniss Everdeen reluctantly becomes the symbol of a mass rebellion against the autocratic Capitol."), + "release_date": Number(1416268800), + "genres": Array [ + String("Science Fiction"), + String("Adventure"), + String("Thriller"), + ], + }, + { + "id": String("9741"), + "title": String("Unbreakable"), + "poster": String("https://image.tmdb.org/t/p/w500/mLuehrGLiK5zFCyRmDDOH6gbfPf.jpg"), + "overview": String("An ordinary man makes an extraordinary discovery when a train accident leaves his fellow passengers dead — and him unscathed. The answer to this mystery could lie with the mysterious Elijah Price, a man who suffers from a disease that renders his bones as fragile as glass."), + "release_date": Number(974073600), + "genres": Array [ + String("Romance"), + String("Drama"), + ], + }, + { + "id": String("49026"), + "title": String("The Dark Knight Rises"), + "poster": String("https://image.tmdb.org/t/p/w500/vzvKcPQ4o7TjWeGIn0aGC9FeVNu.jpg"), + "overview": String("Following the death of District Attorney Harvey Dent, Batman assumes responsibility for Dent's crimes to protect the late attorney's reputation and is subsequently hunted by the Gotham City Police Department. Eight years later, Batman encounters the mysterious Selina Kyle and the villainous Bane, a new terrorist leader who overwhelms Gotham's finest. The Dark Knight resurfaces to protect a city that has branded him an enemy."), + "release_date": Number(1342400400), + "genres": Array [ + String("Action"), + String("Crime"), + String("Drama"), + String("Thriller"), + ], + }, + { + "id": String("85"), + "title": String("Raiders of the Lost Ark"), + "poster": String("https://image.tmdb.org/t/p/w500/ceG9VzoRAVGwivFU403Wc3AHRys.jpg"), + "overview": String("When Dr. Indiana Jones – the tweed-suited professor who just happens to be a celebrated archaeologist – is hired by the government to locate the legendary Ark of the Covenant, he finds himself up against the entire Nazi regime."), + "release_date": Number(361155600), + "genres": Array [ + String("Action"), + String("Adventure"), + ], + }, + { + "id": String("439079"), + "title": String("The Nun"), + "poster": String("https://image.tmdb.org/t/p/w500/sFC1ElvoKGdHJIWRpNB3xWJ9lJA.jpg"), + "overview": String("When a young nun at a cloistered abbey in Romania takes her own life, a priest with a haunted past and a novitiate on the threshold of her final vows are sent by the Vatican to investigate. Together they uncover the order’s unholy secret. Risking not only their lives but their faith and their very souls, they confront a malevolent force in the form of the same demonic nun that first terrorized audiences in “The Conjuring 2” as the abbey becomes a horrific battleground between the living and the damned."), + "release_date": Number(1536109200), + "genres": Array [], + }, + { + "id": String("286217"), + "title": String("The Martian"), + "poster": String("https://image.tmdb.org/t/p/w500/5BHuvQ6p9kfc091Z8RiFNhCwL4b.jpg"), + "overview": String("During a manned mission to Mars, Astronaut Mark Watney is presumed dead after a fierce storm and left behind by his crew. But Watney has survived and finds himself stranded and alone on the hostile planet. With only meager supplies, he must draw upon his ingenuity, wit and spirit to subsist and find a way to signal to Earth that he is alive."), + "release_date": Number(1443574800), + "genres": Array [], + }, + { + "id": String("300681"), + "title": String("Replicas"), + "poster": String("https://image.tmdb.org/t/p/w500/hhPBTAn9b4TYOxc1JYNsX4BFAlW.jpg"), + "overview": String("A scientist becomes obsessed with returning his family to normalcy after a terrible accident."), + "release_date": Number(1540429200), + "genres": Array [ + String("Thriller"), + String("Science Fiction"), + ], + }, + { + "id": String("10138"), + "title": String("Iron Man 2"), + "poster": String("https://image.tmdb.org/t/p/w500/6WBeq4fCfn7AN0o21W9qNcRF2l9.jpg"), + "overview": String("With the world now aware of his dual life as the armored superhero Iron Man, billionaire inventor Tony Stark faces pressure from the government, the press and the public to share his technology with the military. Unwilling to let go of his invention, Stark, with Pepper Potts and James 'Rhodey' Rhodes at his side, must forge new alliances – and confront powerful enemies."), + "release_date": Number(1272416400), + "genres": Array [ + String("Adventure"), + String("Action"), + String("Science Fiction"), + ], + }, + { + "id": String("12155"), + "title": String("Alice in Wonderland"), + "poster": String("https://image.tmdb.org/t/p/w500/o0kre9wRCZz3jjSjaru7QU0UtFz.jpg"), + "overview": String("Alice, an unpretentious and individual 19-year-old, is betrothed to a dunce of an English nobleman. At her engagement party, she escapes the crowd to consider whether to go through with the marriage and falls down a hole in the garden after spotting an unusual rabbit. Arriving in a strange and surreal place called 'Underland,' she finds herself in a world that resembles the nightmares she had as a child, filled with talking animals, villainous queens and knights, and frumious bandersnatches. Alice realizes that she is there for a reason – to conquer the horrific Jabberwocky and restore the rightful queen to her throne."), + "release_date": Number(1267574400), + "genres": Array [ + String("Animation"), + String("Fantasy"), + ], + }, + { + "id": String("19995"), + "title": String("Avatar"), + "poster": String("https://image.tmdb.org/t/p/w500/6EiRUJpuoeQPghrs3YNktfnqOVh.jpg"), + "overview": String("In the 22nd century, a paraplegic Marine is dispatched to the moon Pandora on a unique mission, but becomes torn between following orders and protecting an alien civilization."), + "release_date": Number(1260403200), + "genres": Array [ + String("Horror"), + ], + }, + { + "id": String("438674"), + "title": String("Dragged Across Concrete"), + "poster": String("https://image.tmdb.org/t/p/w500/dQ9EkVyPYJNVCfP5jWXRe4faUFA.jpg"), + "overview": String("Two policemen, one an old-timer, the other his volatile younger partner, find themselves suspended when a video of their strong-arm tactics becomes the media's cause du jour. Low on cash and with no other options, these two embittered soldiers descend into the criminal underworld to gain their just due, but instead find far more than they wanted awaiting them in the shadows."), + "release_date": Number(1550707200), + "genres": Array [ + String("Crime"), + String("Action"), + String("Thriller"), + ], + }, + { + "id": String("259316"), + "title": String("Fantastic Beasts and Where to Find Them"), + "poster": String("https://image.tmdb.org/t/p/w500/fLsaFKExQt05yqjoAvKsmOMYvJR.jpg"), + "overview": String("In 1926, Newt Scamander arrives at the Magical Congress of the United States of America with a magically expanded briefcase, which houses a number of dangerous creatures and their habitats. When the creatures escape from the briefcase, it sends the American wizarding authorities after Newt, and threatens to strain even further the state of magical and non-magical relations."), + "release_date": Number(1479254400), + "genres": Array [ + String("Adventure"), + String("Family"), + String("Fantasy"), + ], + }, + { + "id": String("11253"), + "title": String("Hellboy II: The Golden Army"), + "poster": String("https://image.tmdb.org/t/p/w500/fGQAO4RgUzspO7L4u5KXirIn34s.jpg"), + "overview": String("In this continuation to the adventure of the demon superhero, an evil elf breaks an ancient pact between humans and creatures, as he declares war against humanity. He is on a mission to release The Golden Army, a deadly group of fighting machines that can destroy the human race. As Hell on Earth is ready to erupt, Hellboy and his crew set out to defeat the evil prince."), + "release_date": Number(1215738000), + "genres": Array [], + }, + { + "id": String("246655"), + "title": String("X-Men: Apocalypse"), + "poster": String("https://image.tmdb.org/t/p/w500/2mtQwJKVKQrZgTz49Dizb25eOQQ.jpg"), + "overview": String("After the re-emergence of the world's first mutant, world-destroyer Apocalypse, the X-Men must unite to defeat his extinction level plan."), + "release_date": Number(1463533200), + "genres": Array [ + String("Documentary"), + ], + }, + { + "id": String("553141"), + "title": String("The Head Hunter"), + "poster": String("https://image.tmdb.org/t/p/w500/ol0DSLOIN8Rq1BcWDTsk6NNwas6.jpg"), + "overview": String("On the outskirts of a kingdom, a quiet but fierce medieval warrior protects the realm from monsters and the occult. His gruesome collection of heads is missing only one - the monster that killed his daughter years ago. Driven by a thirst for revenge, he travels wild expanses on horseback. When his second chance arrives, it’s in a way far more horrifying than he ever imagined."), + "release_date": Number(1554426000), + "genres": Array [], + }, + { + "id": String("396461"), + "title": String("Under the Silver Lake"), + "poster": String("https://image.tmdb.org/t/p/w500/cJ9aKlEgTLYtpYjNqin06YqJRUl.jpg"), + "overview": String("Young and disenchanted Sam meets a mysterious and beautiful woman who's swimming in his building's pool one night. When she suddenly vanishes the next morning, Sam embarks on a surreal quest across Los Angeles to decode the secret behind her disappearance, leading him into the murkiest depths of mystery, scandal and conspiracy."), + "release_date": Number(1529542800), + "genres": Array [ + String("Drama"), + String("Mystery"), + ], + }, + { + "id": String("1771"), + "title": String("Captain America: The First Avenger"), + "poster": String("https://image.tmdb.org/t/p/w500/vSNxAJTlD0r02V9sPYpOjqDZXUK.jpg"), + "overview": String("During World War II, Steve Rogers is a sickly man from Brooklyn who's transformed into super-soldier Captain America to aid in the war effort. Rogers must stop the Red Skull – Adolf Hitler's ruthless head of weaponry, and the leader of an organization that intends to use a mysterious device of untold powers for world domination."), + "release_date": Number(1311296400), + "genres": Array [ + String("Documentary"), + ], + }, + { + "id": String("49521"), + "title": String("Man of Steel"), + "poster": String("https://image.tmdb.org/t/p/w500/7rIPjn5TUK04O25ZkMyHrGNPgLx.jpg"), + "overview": String("A young boy learns that he has extraordinary powers and is not of this earth. As a young man, he journeys to discover where he came from and what he was sent here to do. But the hero in him must emerge if he is to save the world from annihilation and become the symbol of hope for all mankind."), + "release_date": Number(1370998800), + "genres": Array [], + }, + { + "id": String("210577"), + "title": String("Gone Girl"), + "poster": String("https://image.tmdb.org/t/p/w500/qymaJhucquUwjpb8oiqynMeXnID.jpg"), + "overview": String("With his wife's disappearance having become the focus of an intense media circus, a man sees the spotlight turned on him when it's suspected that he may not be innocent."), + "release_date": Number(1412125200), + "genres": Array [ + String("Mystery"), + String("Thriller"), + String("Drama"), + ], + }, + { + "id": String("87"), + "title": String("Indiana Jones and the Temple of Doom"), + "poster": String("https://image.tmdb.org/t/p/w500/wu0m7HiZyZr4pOp8IpnFHNvGkVV.jpg"), + "overview": String("After arriving in India, Indiana Jones is asked by a desperate village to find a mystical stone. He agrees – and stumbles upon a secret cult plotting a terrible plan in the catacombs of an ancient palace."), + "release_date": Number(454122000), + "genres": Array [ + String("Adventure"), + String("Action"), + ], + }, + { + "id": String("346910"), + "title": String("The Predator"), + "poster": String("https://image.tmdb.org/t/p/w500/wMq9kQXTeQCHUZOG4fAe5cAxyUA.jpg"), + "overview": String("When a kid accidentally triggers the universe's most lethal hunters' return to Earth, only a ragtag crew of ex-soldiers and a disgruntled female scientist can prevent the end of the human race."), + "release_date": Number(1536109200), + "genres": Array [ + String("Comedy"), + String("Horror"), + String("Science Fiction"), + String("TV Movie"), + String("Animation"), + ], + }, + { + "id": String("127585"), + "title": String("X-Men: Days of Future Past"), + "poster": String("https://image.tmdb.org/t/p/w500/bvN8iUpHyBIvniUk4e52SUZMA7Z.jpg"), + "overview": String("The ultimate X-Men ensemble fights a war for the survival of the species across two time periods as they join forces with their younger selves in an epic battle that must change the past – to save our future."), + "release_date": Number(1400115600), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Fantasy"), + String("Science Fiction"), + ], + }, + { + "id": String("679"), + "title": String("Aliens"), + "poster": String("https://image.tmdb.org/t/p/w500/r1x5JGpyqZU8PYhbs4UcrO1Xb6x.jpg"), + "overview": String("When Ripley's lifepod is found by a salvage crew over 50 years later, she finds that terra-formers are on the very planet they found the alien species. When the company sends a family of colonists out to investigate her story—all contact is lost with the planet and colonists. They enlist Ripley and the colonial marines to return and search for answers."), + "release_date": Number(522032400), + "genres": Array [], + }, + { + "id": String("177572"), + "title": String("Big Hero 6"), + "poster": String("https://image.tmdb.org/t/p/w500/2mxS4wUimwlLmI1xp6QW6NSU361.jpg"), + "overview": String("The special bond that develops between plus-sized inflatable robot Baymax, and prodigy Hiro Hamada, who team up with a group of friends to form a band of high-tech heroes."), + "release_date": Number(1414112400), + "genres": Array [ + String("Adventure"), + String("Family"), + String("Animation"), + String("Action"), + String("Comedy"), + ], + }, + { + "id": String("8587"), + "title": String("The Lion King"), + "poster": String("https://image.tmdb.org/t/p/w500/sKCr78MXSLixwmZ8DyJLrpMsd15.jpg"), + "overview": String("A young lion cub named Simba can't wait to be king. But his uncle craves the title for himself and will stop at nothing to get it."), + "release_date": Number(768272400), + "genres": Array [ + String("Animation"), + ], + }, + { + "id": String("189"), + "title": String("Sin City: A Dame to Kill For"), + "poster": String("https://image.tmdb.org/t/p/w500/50kALxDX4mmzIRljbNbPY0u4cie.jpg"), + "overview": String("Some of Sin City's most hard-boiled citizens cross paths with a few of its more reviled inhabitants."), + "release_date": Number(1408496400), + "genres": Array [ + String("Crime"), + String("Action"), + String("Thriller"), + ], + }, + { + "id": String("58"), + "title": String("Pirates of the Caribbean: Dead Man's Chest"), + "poster": String("https://image.tmdb.org/t/p/w500/l3peI54mf6Z9EBSvS3hnRmOBbFT.jpg"), + "overview": String("Captain Jack Sparrow works his way out of a blood debt with the ghostly Davey Jones, he also attempts to avoid eternal damnation."), + "release_date": Number(1150765200), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + String("Action"), + ], + }, + { + "id": String("354912"), + "title": String("Coco"), + "poster": String("https://image.tmdb.org/t/p/w500/gGEsBPAijhVUFoiNpgZXqRVWJt2.jpg"), + "overview": String("Despite his family’s baffling generations-old ban on music, Miguel dreams of becoming an accomplished musician like his idol, Ernesto de la Cruz. Desperate to prove his talent, Miguel finds himself in the stunning and colorful Land of the Dead following a mysterious chain of events. Along the way, he meets charming trickster Hector, and together, they set off on an extraordinary journey to unlock the real story behind Miguel's family history."), + "release_date": Number(1509066000), + "genres": Array [ + String("Animation"), + String("Family"), + String("Comedy"), + String("Adventure"), + String("Fantasy"), + ], + }, + { + "id": String("272"), + "title": String("Batman Begins"), + "poster": String("https://image.tmdb.org/t/p/w500/1P3ZyEq02wcTMd3iE4ebtLvncvH.jpg"), + "overview": String("Driven by tragedy, billionaire Bruce Wayne dedicates his life to uncovering and defeating the corruption that plagues his home, Gotham City. Unable to work within the system, he instead creates a new identity, a symbol of fear for the criminal underworld - The Batman."), + "release_date": Number(1118365200), + "genres": Array [ + String("Action"), + String("Crime"), + String("Drama"), + ], + }, + { + "id": String("262500"), + "title": String("Insurgent"), + "poster": String("https://image.tmdb.org/t/p/w500/hJij9DQUTLm7c0jNR6etlGZxMhB.jpg"), + "overview": String("Beatrice Prior must confront her inner demons and continue her fight against a powerful alliance which threatens to tear her society apart."), + "release_date": Number(1426636800), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Science Fiction"), + String("Thriller"), + ], + }, + { + "id": String("520679"), + "title": String("Her Smell"), + "poster": String("https://image.tmdb.org/t/p/w500/qEvgdGBMORPS0rz8pqkVH3obLee.jpg"), + "overview": String("A self-destructive punk rocker struggles with sobriety while trying to recapture the creative inspiration that led her band to success."), + "release_date": Number(1555030800), + "genres": Array [ + String("Drama"), + String("Music"), + ], + }, + { + "id": String("49051"), + "title": String("The Hobbit: An Unexpected Journey"), + "poster": String("https://image.tmdb.org/t/p/w500/yHA9Fc37VmpUA5UncTxxo3rTGVA.jpg"), + "overview": String("Bilbo Baggins, a hobbit enjoying his quiet life, is swept into an epic quest by Gandalf the Grey and thirteen dwarves who seek to reclaim their mountain home from Smaug, the dragon."), + "release_date": Number(1353888000), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + String("Action"), + ], + }, + { + "id": String("76757"), + "title": String("Jupiter Ascending"), + "poster": String("https://image.tmdb.org/t/p/w500/2NCcAZ3M3F0FxENYmammBknwpVn.jpg"), + "overview": String("In a universe where human genetic material is the most precious commodity, an impoverished young Earth woman becomes the key to strategic maneuvers and internal strife within a powerful dynasty…"), + "release_date": Number(1423008000), + "genres": Array [ + String("Documentary"), + ], + }, + { + "id": String("405774"), + "title": String("Bird Box"), + "poster": String("https://image.tmdb.org/t/p/w500/rGfGfgL2pEPCfhIvqHXieXFn7gp.jpg"), + "overview": String("Five years after an ominous unseen presence drives most of society to suicide, a survivor and her two children make a desperate bid to reach safety."), + "release_date": Number(1544659200), + "genres": Array [ + String("Thriller"), + String("Drama"), + ], + }, + { + "id": String("335988"), + "title": String("Transformers: The Last Knight"), + "poster": String("https://image.tmdb.org/t/p/w500/s5HQf2Gb3lIO2cRcFwNL9sn1o1o.jpg"), + "overview": String("Autobots and Decepticons are at war, with humans on the sidelines. Optimus Prime is gone. The key to saving our future lies buried in the secrets of the past, in the hidden history of Transformers on Earth."), + "release_date": Number(1497574800), + "genres": Array [ + String("Action"), + String("Science Fiction"), + String("Thriller"), + String("Adventure"), + ], + }, + { + "id": String("505262"), + "title": String("My Hero Academia: Two Heroes"), + "poster": String("https://image.tmdb.org/t/p/w500/hC4nTxdhXqFWzgqynGvvXVMiMNp.jpg"), + "overview": String("All Might and Deku accept an invitation to go abroad to a floating and mobile manmade city, called 'I Island', where they research quirks as well as hero supplemental items at the special 'I Expo' convention that is currently being held on the island. During that time, suddenly, despite an iron wall of security surrounding the island, the system is breached by a villain, and the only ones able to stop him are the students of Class 1-A."), + "release_date": Number(1533258000), + "genres": Array [ + String("Animation"), + String("Action"), + String("Comedy"), + String("Fantasy"), + String("Adventure"), + ], + }, + { + "id": String("129"), + "title": String("Spirited Away"), + "poster": String("https://image.tmdb.org/t/p/w500/39wmItIWsg5sZMyRUHLkWBcuVCM.jpg"), + "overview": String("A young girl, Chihiro, becomes trapped in a strange new world of spirits. When her parents undergo a mysterious transformation, she must call upon the courage she never knew she had to free her family."), + "release_date": Number(995590800), + "genres": Array [ + String("Animation"), + String("Family"), + String("Fantasy"), + ], + }, + { + "id": String("363676"), + "title": String("Sully"), + "poster": String("https://image.tmdb.org/t/p/w500/r09ivJ1GGh5WArqRViRYDQLrTVG.jpg"), + "overview": String("On 15 January 2009, the world witnessed the 'Miracle on the Hudson' when Captain 'Sully' Sullenberger glided his disabled plane onto the frigid waters of the Hudson River, saving the lives of all 155 aboard. However, even as Sully was being heralded by the public and the media for his unprecedented feat of aviation skill, an investigation was unfolding that threatened to destroy his reputation and career."), + "release_date": Number(1473210000), + "genres": Array [ + String("Drama"), + String("History"), + ], + }, + { + "id": String("673"), + "title": String("Harry Potter and the Prisoner of Azkaban"), + "poster": String("https://image.tmdb.org/t/p/w500/v0wMKEEGaNc9evdqGYfIvoWXh24.jpg"), + "overview": String("Harry, Ron and Hermione return to Hogwarts for another magic-filled year. Harry comes face to face with danger yet again, this time in the form of escaped convict, Sirius Black—and turns to sympathetic Professor Lupin for help."), + "release_date": Number(1085965200), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + ], + }, + { + "id": String("402900"), + "title": String("Ocean's Eight"), + "poster": String("https://image.tmdb.org/t/p/w500/MvYpKlpFukTivnlBhizGbkAe3v.jpg"), + "overview": String("Debbie Ocean, a criminal mastermind, gathers a crew of female thieves to pull off the heist of the century at New York's annual Met Gala."), + "release_date": Number(1528333200), + "genres": Array [ + String("Crime"), + String("Comedy"), + String("Action"), + String("Thriller"), + ], + }, + { + "id": String("449563"), + "title": String("Isn't It Romantic"), + "poster": String("https://image.tmdb.org/t/p/w500/5xNBYXuv8wqiLVDhsfqCOr75DL7.jpg"), + "overview": String("For a long time, Natalie, an Australian architect living in New York City, had always believed that what she had seen in rom-coms is all fantasy. But after thwarting a mugger at a subway station only to be knocked out while fleeing, Natalie wakes up and discovers that her life has suddenly become her worst nightmare—a romantic comedy—and she is the leading lady."), + "release_date": Number(1550016000), + "genres": Array [ + String("Comedy"), + ], + }, + { + "id": String("345887"), + "title": String("The Equalizer 2"), + "poster": String("https://image.tmdb.org/t/p/w500/cQvc9N6JiMVKqol3wcYrGshsIdZ.jpg"), + "overview": String("Robert McCall, who serves an unflinching justice for the exploited and oppressed, embarks on a relentless, globe-trotting quest for vengeance when a long-time girl friend is murdered."), + "release_date": Number(1531962000), + "genres": Array [ + String("Thriller"), + String("Action"), + String("Crime"), + ], + }, + { + "id": String("447332"), + "title": String("A Quiet Place"), + "poster": String("https://image.tmdb.org/t/p/w500/nAU74GmpUk7t5iklEp3bufwDq4n.jpg"), + "overview": String("A family is forced to live in silence while hiding from creatures that hunt by sound."), + "release_date": Number(1522717200), + "genres": Array [], + }, + { + "id": String("82690"), + "title": String("Wreck-It Ralph"), + "poster": String("https://image.tmdb.org/t/p/w500/nsUAgWCxqbTD9wkKrv3nBGH2DVk.jpg"), + "overview": String("Wreck-It Ralph is the 9-foot-tall, 643-pound villain of an arcade video game named Fix-It Felix Jr., in which the game's titular hero fixes buildings that Ralph destroys. Wanting to prove he can be a good guy and not just a villain, Ralph escapes his game and lands in Hero's Duty, a first-person shooter where he helps the game's hero battle against alien invaders. He later enters Sugar Rush, a kart racing game set on tracks made of candies, cookies and other sweets. There, Ralph meets Vanellope von Schweetz who has learned that her game is faced with a dire threat that could affect the entire arcade, and one that Ralph may have inadvertently started."), + "release_date": Number(1351728000), + "genres": Array [ + String("Family"), + String("Animation"), + String("Comedy"), + String("Adventure"), + ], + }, + { + "id": String("214756"), + "title": String("Ted 2"), + "poster": String("https://image.tmdb.org/t/p/w500/cj9gTID7b2risDJZGGTzR40jyS4.jpg"), + "overview": String("Newlywed couple Ted and Tami-Lynn want to have a baby, but in order to qualify to be a parent, Ted will have to prove he's a person in a court of law."), + "release_date": Number(1435194000), + "genres": Array [ + String("Comedy"), + ], + }, + { + "id": String("8392"), + "title": String("My Neighbor Totoro"), + "poster": String("https://image.tmdb.org/t/p/w500/rtGDOeG9LzoerkDGZF9dnVeLppL.jpg"), + "overview": String("Two sisters move to the country with their father in order to be closer to their hospitalized mother, and discover the surrounding trees are inhabited by Totoros, magical spirits of the forest. When the youngest runs away from home, the older sister seeks help from the spirits to find her."), + "release_date": Number(577155600), + "genres": Array [ + String("Fantasy"), + String("Animation"), + String("Family"), + ], + }, + { + "id": String("150540"), + "title": String("Inside Out"), + "poster": String("https://image.tmdb.org/t/p/w500/lRHE0vzf3oYJrhbsHXjIkF4Tl5A.jpg"), + "overview": String("Growing up can be a bumpy road, and it's no exception for Riley, who is uprooted from her Midwest life when her father starts a new job in San Francisco. Like all of us, Riley is guided by her emotions - Joy, Fear, Anger, Disgust and Sadness. The emotions live in Headquarters, the control center inside Riley's mind, where they help advise her through everyday life. As Riley and her emotions struggle to adjust to a new life in San Francisco, turmoil ensues in Headquarters. Although Joy, Riley's main and most important emotion, tries to keep things positive, the emotions conflict on how best to navigate a new city, house and school."), + "release_date": Number(1433811600), + "genres": Array [], + }, + { + "id": String("445629"), + "title": String("Fighting with My Family"), + "poster": String("https://image.tmdb.org/t/p/w500/cVhe15rJLRjolunSWLBN6xQLyGU.jpg"), + "overview": String("Born into a tight-knit wrestling family, Paige and her brother Zak are ecstatic when they get the once-in-a-lifetime opportunity to try out for the WWE. But when only Paige earns a spot in the competitive training program, she must leave her loved ones behind and face this new cutthroat world alone. Paige's journey pushes her to dig deep and ultimately prove to the world that what makes her different is the very thing that can make her a star."), + "release_date": Number(1550102400), + "genres": Array [ + String("Comedy"), + ], + }, + { + "id": String("862"), + "title": String("Toy Story"), + "poster": String("https://image.tmdb.org/t/p/w500/uXDfjJbdP4ijW5hWSBrPrlKpxab.jpg"), + "overview": String("Led by Woody, Andy's toys live happily in his room until Andy's birthday brings Buzz Lightyear onto the scene. Afraid of losing his place in Andy's heart, Woody plots against Buzz. But when circumstances separate Buzz and Woody from their owner, the duo eventually learns to put aside their differences."), + "release_date": Number(815011200), + "genres": Array [ + String("Animation"), + String("Comedy"), + String("Family"), + String("Fantasy"), + ], + }, + { + "id": String("260346"), + "title": String("Taken 3"), + "poster": String("https://image.tmdb.org/t/p/w500/vzvMXMypMq7ieDofKThsxjHj9hn.jpg"), + "overview": String("Ex-government operative Bryan Mills finds his life is shattered when he's falsely accused of a murder that hits close to home. As he's pursued by a savvy police inspector, Mills employs his particular set of skills to track the real killer and exact his unique brand of justice."), + "release_date": Number(1418688000), + "genres": Array [ + String("Thriller"), + String("Action"), + ], + }, + { + "id": String("369972"), + "title": String("First Man"), + "poster": String("https://image.tmdb.org/t/p/w500/i91mfvFcPPlaegcbOyjGgiWfZzh.jpg"), + "overview": String("A look at the life of the astronaut, Neil Armstrong, and the legendary space mission that led him to become the first man to walk on the Moon on July 20, 1969."), + "release_date": Number(1539219600), + "genres": Array [ + String("Documentary"), + String("Documentary"), + ], + }, + { + "id": String("482981"), + "title": String("Wild Rose"), + "poster": String("https://image.tmdb.org/t/p/w500/79THplH9WM7y3gRPYM4dcC0IRPw.jpg"), + "overview": String("A young Scottish singer, Rose-Lynn Harlan, dreams of making it as a country artist in Nashville after being released from prison."), + "release_date": Number(1555030800), + "genres": Array [ + String("Drama"), + ], + }, + { + "id": String("300668"), + "title": String("Annihilation"), + "poster": String("https://image.tmdb.org/t/p/w500/d3qcpfNwbAMCNqWDHzPQsUYiUgS.jpg"), + "overview": String("A biologist signs up for a dangerous, secret expedition into a mysterious zone where the laws of nature don't apply."), + "release_date": Number(1519257600), + "genres": Array [], + }, + { + "id": String("434555"), + "title": String("The Possession of Hannah Grace"), + "poster": String("https://image.tmdb.org/t/p/w500/hDDb0H0uJp2wjoJBbBHbKlYRbug.jpg"), + "overview": String("When a cop who is just out of rehab takes the graveyard shift in a city hospital morgue, she faces a series of bizarre, violent events caused by an evil entity in one of the corpses."), + "release_date": Number(1543449600), + "genres": Array [ + String("Horror"), + String("Drama"), + ], + }, + { + "id": String("444090"), + "title": String("The Ash Lad: In the Hall of the Mountain King"), + "poster": String("https://image.tmdb.org/t/p/w500/uyJEfpAflLCkqn6PFHu9EHxmbI6.jpg"), + "overview": String("Espen “Ash Lad”, a poor farmer’s son, embarks on a dangerous quest with his brothers to save the princess from a vile troll known as the Mountain King – in order to collect a reward and save his family’s farm from ruin."), + "release_date": Number(1506646800), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + ], + }, + { + "id": String("8355"), + "title": String("Ice Age: Dawn of the Dinosaurs"), + "poster": String("https://image.tmdb.org/t/p/w500/cXOLaxcNjNAYmEx1trZxOTKhK3Q.jpg"), + "overview": String("Times are changing for Manny the moody mammoth, Sid the motor mouthed sloth and Diego the crafty saber-toothed tiger. Life heats up for our heroes when they meet some new and none-too-friendly neighbors – the mighty dinosaurs."), + "release_date": Number(1246237200), + "genres": Array [ + String("Animation"), + String("Comedy"), + String("Family"), + String("Adventure"), + ], + }, + { + "id": String("1585"), + "title": String("It's a Wonderful Life"), + "poster": String("https://image.tmdb.org/t/p/w500/bSqt9rhDZx1Q7UZ86dBPKdNomp2.jpg"), + "overview": String("A holiday favourite for generations... George Bailey has spent his entire life giving to the people of Bedford Falls. All that prevents rich skinflint Mr. Potter from taking over the entire town is George's modest building and loan company. But on Christmas Eve the business's $8,000 is lost and George's troubles begin."), + "release_date": Number(-726883200), + "genres": Array [ + String("Comedy"), + ], + }, + { + "id": String("597"), + "title": String("Titanic"), + "poster": String("https://image.tmdb.org/t/p/w500/9xjZS2rlVxm8SFx8kPC3aIGCOYQ.jpg"), + "overview": String("101-year-old Rose DeWitt Bukater tells the story of her life aboard the Titanic, 84 years later. A young Rose boards the ship with her mother and fiancé. Meanwhile, Jack Dawson and Fabrizio De Rossi win third-class tickets aboard the ship. Rose tells the whole story from Titanic's departure through to its death—on its first and last voyage—on April 15, 1912."), + "release_date": Number(879811200), + "genres": Array [ + String("Action"), + String("Drama"), + String("History"), + ], + }, + { + "id": String("2320"), + "title": String("Executive Decision"), + "poster": String("https://image.tmdb.org/t/p/w500/m3CVqpSbvqvqNcY2dBjRQ44kN2l.jpg"), + "overview": String("Terrorists hijack a 747 inbound to Washington D.C., demanding the the release of their imprisoned leader. Intelligence expert David Grant (Kurt Russell) suspects another reason and he is soon the reluctant member of a special assault team that is assigned to intercept the plane and hijackers."), + "release_date": Number(826848000), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Drama"), + String("Thriller"), + ], + }, + { + "id": String("76203"), + "title": String("12 Years a Slave"), + "poster": String("https://image.tmdb.org/t/p/w500/xdANQijuNrJaw1HA61rDccME4Tm.jpg"), + "overview": String("In the pre-Civil War United States, Solomon Northup, a free black man from upstate New York, is abducted and sold into slavery. Facing cruelty as well as unexpected kindnesses Solomon struggles not only to stay alive, but to retain his dignity. In the twelfth year of his unforgettable odyssey, Solomon’s chance meeting with a Canadian abolitionist will forever alter his life."), + "release_date": Number(1382058000), + "genres": Array [ + String("Drama"), + String("History"), + ], + }, + { + "id": String("419430"), + "title": String("Get Out"), + "poster": String("https://image.tmdb.org/t/p/w500/tFXcEccSQMf3lfhfXKSU9iRBpa3.jpg"), + "overview": String("Chris and his girlfriend Rose go upstate to visit her parents for the weekend. At first, Chris reads the family's overly accommodating behavior as nervous attempts to deal with their daughter's interracial relationship, but as the weekend progresses, a series of increasingly disturbing discoveries lead him to a truth that he never could have imagined."), + "release_date": Number(1487894400), + "genres": Array [ + String("Science Fiction"), + ], + }, + { + "id": String("400535"), + "title": String("Sicario: Day of the Soldado"), + "poster": String("https://image.tmdb.org/t/p/w500/msqWSQkU403cQKjQHnWLnugv7EY.jpg"), + "overview": String("Agent Matt Graver teams up with operative Alejandro Gillick to prevent Mexican drug cartels from smuggling terrorists across the United States border."), + "release_date": Number(1530061200), + "genres": Array [ + String("Action"), + String("Crime"), + String("Drama"), + String("Thriller"), + ], + }, + { + "id": String("228150"), + "title": String("Fury"), + "poster": String("https://image.tmdb.org/t/p/w500/pfte7wdMobMF4CVHuOxyu6oqeeA.jpg"), + "overview": String("Last months of World War II in April 1945. As the Allies make their final push in the European Theater, a battle-hardened U.S. Army sergeant in the 2nd Armored Division named Wardaddy commands a Sherman tank called 'Fury' and its five-man crew on a deadly mission behind enemy lines. Outnumbered and outgunned, Wardaddy and his men face overwhelming odds in their heroic attempts to strike at the heart of Nazi Germany."), + "release_date": Number(1413334800), + "genres": Array [ + String("Crime"), + String("Drama"), + String("Thriller"), + ], + }, + { + "id": String("920"), + "title": String("Cars"), + "poster": String("https://image.tmdb.org/t/p/w500/qa6HCwP4Z15l3hpsASz3auugEW6.jpg"), + "overview": String("Lightning McQueen, a hotshot rookie race car driven to succeed, discovers that life is about the journey, not the finish line, when he finds himself unexpectedly detoured in the sleepy Route 66 town of Radiator Springs. On route across the country to the big Piston Cup Championship in California to compete against two seasoned pros, McQueen gets to know the town's offbeat characters."), + "release_date": Number(1149728400), + "genres": Array [ + String("Animation"), + String("Adventure"), + String("Comedy"), + String("Family"), + ], + }, + { + "id": String("299534"), + "title": String("Avengers: Endgame"), + "poster": String("https://image.tmdb.org/t/p/w500/ulzhLuWrPK07P1YkdWQLZnQh1JL.jpg"), + "overview": String("After the devastating events of Avengers: Infinity War, the universe is in ruins due to the efforts of the Mad Titan, Thanos. With the help of remaining allies, the Avengers must assemble once more in order to undo Thanos' actions and restore order to the universe once and for all, no matter what consequences may be in store."), + "release_date": Number(1556067600), + "genres": Array [ + String("Adventure"), + String("Science Fiction"), + String("Action"), + ], + }, + { + "id": String("324857"), + "title": String("Spider-Man: Into the Spider-Verse"), + "poster": String("https://image.tmdb.org/t/p/w500/iiZZdoQBEYBv6id8su7ImL0oCbD.jpg"), + "overview": String("Miles Morales is juggling his life between being a high school student and being a spider-man. When Wilson 'Kingpin' Fisk uses a super collider, others from across the Spider-Verse are transported to this dimension."), + "release_date": Number(1544140800), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Animation"), + String("Science Fiction"), + String("Comedy"), + ], + }, + { + "id": String("157433"), + "title": String("Pet Sematary"), + "poster": String("https://image.tmdb.org/t/p/w500/7SPhr7Qj39vbnfF9O2qHRYaKHAL.jpg"), + "overview": String("Louis Creed, his wife Rachel and their two children Gage and Ellie move to a rural home where they are welcomed and enlightened about the eerie 'Pet Sematary' located nearby. After the tragedy of their cat being killed by a truck, Louis resorts to burying it in the mysterious pet cemetery, which is definitely not as it seems, as it proves to the Creeds that sometimes dead is better."), + "release_date": Number(1554339600), + "genres": Array [ + String("Thriller"), + String("Horror"), + ], + }, + { + "id": String("456740"), + "title": String("Hellboy"), + "poster": String("https://image.tmdb.org/t/p/w500/bk8LyaMqUtaQ9hUShuvFznQYQKR.jpg"), + "overview": String("Hellboy comes to England, where he must defeat Nimue, Merlin's consort and the Blood Queen. But their battle will bring about the end of the world, a fate he desperately tries to turn away."), + "release_date": Number(1554944400), + "genres": Array [ + String("Fantasy"), + String("Action"), + ], + }, + { + "id": String("537915"), + "title": String("After"), + "poster": String("https://image.tmdb.org/t/p/w500/u3B2YKUjWABcxXZ6Nm9h10hLUbh.jpg"), + "overview": String("A young woman falls for a guy with a dark secret and the two embark on a rocky relationship."), + "release_date": Number(1554944400), + "genres": Array [ + String("Mystery"), + String("Drama"), + ], + }, + { + "id": String("485811"), + "title": String("Redcon-1"), + "poster": String("https://image.tmdb.org/t/p/w500/vVPrWngVJ2cfYAncBedQty69Dlf.jpg"), + "overview": String("After a zombie apocalypse spreads from a London prison, the UK is brought to its knees. The spread of the virus is temporarily contained but, without a cure, it’s only a matter of time before it breaks its boundaries and the biggest problem of all… any zombies with combat skills are now enhanced. With the South East of England quarantined from the rest of the world using fortified borders, intelligence finds that the scientist responsible for the outbreak is alive and well in London. With his recovery being the only hope of a cure, a squad of eight Special Forces soldiers is sent on a suicide mission to the city, now ruled by the undead, with a single task: get him out alive within 72 hours by any means necessary. What emerges is an unlikely pairing on a course to save humanity against ever-rising odds."), + "release_date": Number(1538096400), + "genres": Array [ + String("Action"), + String("Horror"), + ], + }, + { + "id": String("471507"), + "title": String("Destroyer"), + "poster": String("https://image.tmdb.org/t/p/w500/sHw9gTdo43nJL82py0oaROkXXNr.jpg"), + "overview": String("Erin Bell is an LAPD detective who, as a young cop, was placed undercover with a gang in the California desert with tragic results. When the leader of that gang re-emerges many years later, she must work her way back through the remaining members and into her own history with them to finally reckon with the demons that destroyed her past."), + "release_date": Number(1545696000), + "genres": Array [ + String("Horror"), + String("Thriller"), + ], + }, + { + "id": String("400650"), + "title": String("Mary Poppins Returns"), + "poster": String("https://image.tmdb.org/t/p/w500/uTVGku4LibMGyKgQvjBtv3OYfAX.jpg"), + "overview": String("In Depression-era London, a now-grown Jane and Michael Banks, along with Michael's three children, are visited by the enigmatic Mary Poppins following a personal loss. Through her unique magical skills, and with the aid of her friend Jack, she helps the family rediscover the joy and wonder missing in their lives."), + "release_date": Number(1544659200), + "genres": Array [ + String("Documentary"), + ], + }, + { + "id": String("297802"), + "title": String("Aquaman"), + "poster": String("https://image.tmdb.org/t/p/w500/5Kg76ldv7VxeX9YlcQXiowHgdX6.jpg"), + "overview": String("Once home to the most advanced civilization on Earth, Atlantis is now an underwater kingdom ruled by the power-hungry King Orm. With a vast army at his disposal, Orm plans to conquer the remaining oceanic people and then the surface world. Standing in his way is Arthur Curry, Orm's half-human, half-Atlantean brother and true heir to the throne."), + "release_date": Number(1544140800), + "genres": Array [ + String("Action"), + String("Adventure"), + String("TV Movie"), + ], + }, + { + "id": String("512196"), + "title": String("Happy Death Day 2U"), + "poster": String("https://image.tmdb.org/t/p/w500/4tdnePOkOOzwuGPEOAHp8UA4vqx.jpg"), + "overview": String("Collegian Tree Gelbman wakes up in horror to learn that she's stuck in a parallel universe. Her boyfriend Carter is now with someone else, and her friends and fellow students seem to be completely different versions of themselves. When Tree discovers that Carter's roommate has been altering time, she finds herself once again the target of a masked killer. When the psychopath starts to go after her inner circle, Tree soon realizes that she must die over and over again to save everyone."), + "release_date": Number(1550016000), + "genres": Array [ + String("Comedy"), + String("Horror"), + String("Science Fiction"), + ], + }, + { + "id": String("390634"), + "title": String("Fate/stay night: Heaven’s Feel II. lost butterfly"), + "poster": String("https://image.tmdb.org/t/p/w500/nInpnGCjhzVhsASIUAmgM1QIhYM.jpg"), + "overview": String("Theatrical-release adaptation of the visual novel 'Fate/stay night', following the third and final route. (Part 2 of a trilogy.)"), + "release_date": Number(1547251200), + "genres": Array [ + String("Animation"), + String("Action"), + String("Fantasy"), + String("Drama"), + ], + }, + { + "id": String("500682"), + "title": String("The Highwaymen"), + "poster": String("https://image.tmdb.org/t/p/w500/4bRYg4l12yDuJvAfqvUOPnBrxno.jpg"), + "overview": String("In 1934, Frank Hamer and Manny Gault, two former Texas Rangers, are commissioned to put an end to the wave of vicious crimes perpetrated by Bonnie Parker and Clyde Barrow, a notorious duo of infamous robbers and cold-blooded killers who nevertheless are worshiped by the public."), + "release_date": Number(1552608000), + "genres": Array [ + String("Music"), + ], + }, + { + "id": String("454294"), + "title": String("The Kid Who Would Be King"), + "poster": String("https://image.tmdb.org/t/p/w500/kBuvLX6zynQP0sjyqbXV4jNaZ4E.jpg"), + "overview": String("Old-school magic meets the modern world when young Alex stumbles upon the mythical sword Excalibur. He soon unites his friends and enemies, and they become knights who join forces with the legendary wizard Merlin. Together, they must save mankind from the wicked enchantress Morgana and her army of supernatural warriors."), + "release_date": Number(1547596800), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Fantasy"), + String("Family"), + ], + }, + { + "id": String("543103"), + "title": String("Kamen Rider Heisei Generations FOREVER"), + "poster": String("https://image.tmdb.org/t/p/w500/kHMuyjlvNIwhCaDFiRwnl45wF7z.jpg"), + "overview": String("In the world of Sougo Tokiwa and Sento Kiryu, their 'companions' are losing their memories one after the other as they're replaced by other people. The Super Time Jacker, Tid , appears before them. He orders his powerful underlings, Another Double and Another Den-O, to pursue a young boy called Shingo. While fighting to protect Shingo, Sougo meets Ataru, a young man who loves Riders, but Ataru says that Kamen Riders aren't real. What is the meaning of those words? While the mystery deepens, the true enemy that Sougo and Sento must defeat appears in the Kuriogatake mountain..."), + "release_date": Number(1545436800), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Science Fiction"), + ], + }, + { + "id": String("404368"), + "title": String("Ralph Breaks the Internet"), + "poster": String("https://image.tmdb.org/t/p/w500/qEnH5meR381iMpmCumAIMswcQw2.jpg"), + "overview": String("Video game bad guy Ralph and fellow misfit Vanellope von Schweetz must risk it all by traveling to the World Wide Web in search of a replacement part to save Vanellope's video game, 'Sugar Rush.' In way over their heads, Ralph and Vanellope rely on the citizens of the internet -- the netizens -- to help navigate their way, including an entrepreneur named Yesss, who is the head algorithm and the heart and soul of trend-making site BuzzzTube."), + "release_date": Number(1542672000), + "genres": Array [ + String("Family"), + String("Animation"), + String("Comedy"), + String("Adventure"), + ], + }, + { + "id": String("338952"), + "title": String("Fantastic Beasts: The Crimes of Grindelwald"), + "poster": String("https://image.tmdb.org/t/p/w500/fMMrl8fD9gRCFJvsx0SuFwkEOop.jpg"), + "overview": String("Gellert Grindelwald has escaped imprisonment and has begun gathering followers to his cause—elevating wizards above all non-magical beings. The only one capable of putting a stop to him is the wizard he once called his closest friend, Albus Dumbledore. However, Dumbledore will need to seek help from the wizard who had thwarted Grindelwald once before, his former student Newt Scamander, who agrees to help, unaware of the dangers that lie ahead. Lines are drawn as love and loyalty are tested, even among the truest friends and family, in an increasingly divided wizarding world."), + "release_date": Number(1542153600), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + String("Family"), + ], + }, + { + "id": String("399579"), + "title": String("Alita: Battle Angel"), + "poster": String("https://image.tmdb.org/t/p/w500/xRWht48C2V8XNfzvPehyClOvDni.jpg"), + "overview": String("When Alita awakens with no memory of who she is in a future world she does not recognize, she is taken in by Ido, a compassionate doctor who realizes that somewhere in this abandoned cyborg shell is the heart and soul of a young woman with an extraordinary past."), + "release_date": Number(1548892800), + "genres": Array [ + String("Action"), + String("Science Fiction"), + ], + }, + { + "id": String("450001"), + "title": String("Master Z: Ip Man Legacy"), + "poster": String("https://image.tmdb.org/t/p/w500/6VxEvOF7QDovsG6ro9OVyjH07LF.jpg"), + "overview": String("After being defeated by Ip Man, Cheung Tin Chi is attempting to keep a low profile. While going about his business, he gets into a fight with a foreigner by the name of Davidson, who is a big boss behind the bar district. Tin Chi fights hard with Wing Chun and earns respect."), + "release_date": Number(1545264000), + "genres": Array [ + String("Action"), + ], + }, + { + "id": String("504172"), + "title": String("The Mule"), + "poster": String("https://image.tmdb.org/t/p/w500/klazQbxk3yfuZ8JcfO9jdKOZQJ7.jpg"), + "overview": String("Earl Stone, a man in his 80s who is broke, alone, and facing foreclosure of his business when he is offered a job that simply requires him to drive. Easy enough, but, unbeknownst to Earl, he’s just signed on as a drug courier for a Mexican cartel. He does so well that his cargo increases exponentially, and Earl hit the radar of hard-charging DEA agent Colin Bates."), + "release_date": Number(1544745600), + "genres": Array [ + String("Crime"), + String("Comedy"), + ], + }, + { + "id": String("527729"), + "title": String("Asterix: The Secret of the Magic Potion"), + "poster": String("https://image.tmdb.org/t/p/w500/wmMq5ypRNJbWpdhC9aPjpdx1MMp.jpg"), + "overview": String("Following a fall during mistletoe picking, Druid Getafix decides that it is time to secure the future of the village. Accompanied by Asterix and Obelix, he undertakes to travel the Gallic world in search of a talented young druid to transmit the Secret of the Magic Potion."), + "release_date": Number(1543968000), + "genres": Array [ + String("Animation"), + String("Family"), + String("Comedy"), + String("Adventure"), + ], + }, + { + "id": String("118340"), + "title": String("Guardians of the Galaxy"), + "poster": String("https://image.tmdb.org/t/p/w500/r7vmZjiyZw9rpJMQJdXpjgiCOk9.jpg"), + "overview": String("Light years from Earth, 26 years after being abducted, Peter Quill finds himself the prime target of a manhunt after discovering an orb wanted by Ronan the Accuser."), + "release_date": Number(1406682000), + "genres": Array [], + }, + { + "id": String("411728"), + "title": String("The Professor and the Madman"), + "poster": String("https://image.tmdb.org/t/p/w500/gtGCDLhfjW96qVarwctnuTpGOtD.jpg"), + "overview": String("Professor James Murray begins work compiling words for the first edition of the Oxford English Dictionary in the mid 19th century and receives over 10,000 entries from a patient at Broadmoor Criminal Lunatic Asylum , Dr William Minor."), + "release_date": Number(1551916800), + "genres": Array [ + String("Drama"), + String("History"), + String("Mystery"), + String("Thriller"), + ], + }, + { + "id": String("527641"), + "title": String("Five Feet Apart"), + "poster": String("https://image.tmdb.org/t/p/w500/kreTuJBkUjVWePRfhHZuYfhNE1T.jpg"), + "overview": String("Seventeen-year-old Stella spends most of her time in the hospital as a cystic fibrosis patient. Her life is full of routines, boundaries and self-control -- all of which get put to the test when she meets Will, an impossibly charming teen who has the same illness."), + "release_date": Number(1552608000), + "genres": Array [ + String("Romance"), + String("Drama"), + ], + }, + { + "id": String("576071"), + "title": String("Unplanned"), + "poster": String("https://image.tmdb.org/t/p/w500/tvCtAz8z5tF49a7q9RRHvxiTjzv.jpg"), + "overview": String("As one of the youngest Planned Parenthood clinic directors in the nation, Abby Johnson was involved in upwards of 22,000 abortions and counseled countless women on their reproductive choices. Her passion surrounding a woman's right to choose led her to become a spokesperson for Planned Parenthood, fighting to enact legislation for the cause she so deeply believed in. Until the day she saw something that changed everything."), + "release_date": Number(1553126400), + "genres": Array [ + String("Drama"), + ], + }, + { + "id": String("283995"), + "title": String("Guardians of the Galaxy Vol. 2"), + "poster": String("https://image.tmdb.org/t/p/w500/y4MBh0EjBlMuOzv9axM4qJlmhzz.jpg"), + "overview": String("The Guardians must fight to keep their newfound family together as they unravel the mysteries of Peter Quill's true parentage."), + "release_date": Number(1492563600), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Comedy"), + String("Science Fiction"), + ], + }, + { + "id": String("464504"), + "title": String("A Madea Family Funeral"), + "poster": String("https://image.tmdb.org/t/p/w500/sFvOTUlZrIxCLdmz1fC16wK0lme.jpg"), + "overview": String("A joyous family reunion becomes a hilarious nightmare as Madea and the crew travel to backwoods Georgia, where they find themselves unexpectedly planning a funeral that might unveil unpleasant family secrets."), + "release_date": Number(1551398400), + "genres": Array [ + String("Comedy"), + ], + }, + { + "id": String("428078"), + "title": String("Mortal Engines"), + "poster": String("https://image.tmdb.org/t/p/w500/gLhYg9NIvIPKVRTtvzCWnp1qJWG.jpg"), + "overview": String("Many thousands of years in the future, Earth’s cities roam the globe on huge wheels, devouring each other in a struggle for ever diminishing resources. On one of these massive traction cities, the old London, Tom Natsworthy has an unexpected encounter with a mysterious young woman from the wastelands who will change the course of his life forever."), + "release_date": Number(1543276800), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + ], + }, + { + "id": String("460539"), + "title": String("Kuppathu Raja"), + "poster": String("https://image.tmdb.org/t/p/w500/wzLde7keWQqWA0CJYVz0X5RVKjd.jpg"), + "overview": String("Kuppathu Raja is an upcoming Tamil comedy drama film directed by Baba Bhaskar. The film features G. V. Prakash Kumar and Parthiban in the lead roles."), + "release_date": Number(1554426000), + "genres": Array [ + String("Drama"), + ], + }, + { + "id": String("24428"), + "title": String("The Avengers"), + "poster": String("https://image.tmdb.org/t/p/w500/RYMX2wcKCBAr24UyPD7xwmjaTn.jpg"), + "overview": String("When an unexpected enemy emerges and threatens global safety and security, Nick Fury, director of the international peacekeeping agency known as S.H.I.E.L.D., finds himself in need of a team to pull the world back from the brink of disaster. Spanning the globe, a daring recruitment effort begins!"), + "release_date": Number(1335315600), + "genres": Array [ + String("Documentary"), + ], + }, + { + "id": String("120"), + "title": String("The Lord of the Rings: The Fellowship of the Ring"), + "poster": String("https://image.tmdb.org/t/p/w500/6oom5QYQ2yQTMJIbnvbkBL9cHo6.jpg"), + "overview": String("Young hobbit Frodo Baggins, after inheriting a mysterious ring from his uncle Bilbo, must leave his home in order to keep it from falling into the hands of its evil creator. Along the way, a fellowship is formed to protect the ringbearer and make sure that the ring arrives at its final destination: Mt. Doom, the only place where it can be destroyed."), + "release_date": Number(1008633600), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + String("Action"), + ], + }, + { + "id": String("671"), + "title": String("Harry Potter and the Philosopher's Stone"), + "poster": String("https://image.tmdb.org/t/p/w500/wuMc08IPKEatf9rnMNXvIDxqP4W.jpg"), + "overview": String("Harry Potter has lived under the stairs at his aunt and uncle's house his whole life. But on his 11th birthday, he learns he's a powerful wizard -- with a place waiting for him at the Hogwarts School of Witchcraft and Wizardry. As he learns to harness his newfound powers with the help of the school's kindly headmaster, Harry uncovers the truth about his parents' deaths -- and about the villain who's to blame."), + "release_date": Number(1005868800), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + String("Family"), + ], + }, + { + "id": String("500904"), + "title": String("A Vigilante"), + "poster": String("https://image.tmdb.org/t/p/w500/x5MSMGVagNINIWyZaxdjLarTDM3.jpg"), + "overview": String("A vigilante helps victims escape their domestic abusers."), + "release_date": Number(1553817600), + "genres": Array [ + String("Thriller"), + String("Drama"), + ], + }, + { + "id": String("284053"), + "title": String("Thor: Ragnarok"), + "poster": String("https://image.tmdb.org/t/p/w500/rzRwTcFvttcN1ZpX2xv4j3tSdJu.jpg"), + "overview": String("Thor is imprisoned on the other side of the universe and finds himself in a race against time to get back to Asgard to stop Ragnarok, the destruction of his home-world and the end of Asgardian civilization, at the hands of an all-powerful new threat, the ruthless Hela."), + "release_date": Number(1508893200), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Comedy"), + String("Fantasy"), + ], + }, + { + "id": String("424694"), + "title": String("Bohemian Rhapsody"), + "poster": String("https://image.tmdb.org/t/p/w500/lHu1wtNaczFPGFDTrjCSzeLPTKN.jpg"), + "overview": String("Singer Freddie Mercury, guitarist Brian May, drummer Roger Taylor and bass guitarist John Deacon take the music world by storm when they form the rock 'n' roll band Queen in 1970. Hit songs become instant classics. When Mercury's increasingly wild lifestyle starts to spiral out of control, Queen soon faces its greatest challenge yet – finding a way to keep the band together amid the success and excess."), + "release_date": Number(1540342800), + "genres": Array [ + String("Music"), + String("Documentary"), + ], + }, + { + "id": String("508763"), + "title": String("A Dog's Way Home"), + "poster": String("https://image.tmdb.org/t/p/w500/pZn87R7gtmMCGGO8KeaAfZDhXLg.jpg"), + "overview": String("A Dog’s Way Home chronicles the heartwarming adventure of Bella, a dog who embarks on an epic 400-mile journey home after she is separated from her beloved human."), + "release_date": Number(1547078400), + "genres": Array [ + String("Drama"), + String("Family"), + String("Adventure"), + ], + }, + { + "id": String("284054"), + "title": String("Black Panther"), + "poster": String("https://image.tmdb.org/t/p/w500/uxzzxijgPIY7slzFvMotPv8wjKA.jpg"), + "overview": String("King T'Challa returns home from America to the reclusive, technologically advanced African nation of Wakanda to serve as his country's new leader. However, T'Challa soon finds that he is challenged for the throne by factions within his own country as well as without. Using powers reserved to Wakandan kings, T'Challa assumes the Black Panther mantel to join with girlfriend Nakia, the queen-mother, his princess-kid sister, members of the Dora Milaje (the Wakandan 'special forces') and an American secret agent, to prevent Wakanda from being dragged into a world war."), + "release_date": Number(1518480000), + "genres": Array [ + String("Family"), + String("Drama"), + ], + }, + { + "id": String("335983"), + "title": String("Venom"), + "poster": String("https://image.tmdb.org/t/p/w500/2uNW4WbgBXL25BAbXGLnLqX71Sw.jpg"), + "overview": String("Investigative journalist Eddie Brock attempts a comeback following a scandal, but accidentally becomes the host of Venom, a violent, super powerful alien symbiote. Soon, he must rely on his newfound powers to protect the world from a shadowy organization looking for a symbiote of their own."), + "release_date": Number(1538096400), + "genres": Array [ + String("Thriller"), + ], + }, + { + "id": String("440472"), + "title": String("The Upside"), + "poster": String("https://image.tmdb.org/t/p/w500/hPZ2caow1PCND6qnerfgn6RTXdm.jpg"), + "overview": String("Phillip is a wealthy quadriplegic who needs a caretaker to help him with his day-to-day routine in his New York penthouse. He decides to hire Dell, a struggling parolee who's trying to reconnect with his ex and his young son. Despite coming from two different worlds, an unlikely friendship starts to blossom."), + "release_date": Number(1547078400), + "genres": Array [ + String("Drama"), + ], + }, + { + "id": String("363088"), + "title": String("Ant-Man and the Wasp"), + "poster": String("https://image.tmdb.org/t/p/w500/eivQmS3wqzqnQWILHLc4FsEfcXP.jpg"), + "overview": String("Just when his time under house arrest is about to end, Scott Lang once again puts his freedom at risk to help Hope van Dyne and Dr. Hank Pym dive into the quantum realm and try to accomplish, against time and any chance of success, a very dangerous rescue mission."), + "release_date": Number(1530666000), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Science Fiction"), + String("Comedy"), + ], + }, + { + "id": String("351286"), + "title": String("Jurassic World: Fallen Kingdom"), + "poster": String("https://image.tmdb.org/t/p/w500/c9XxwwhPHdaImA2f1WEfEsbhaFB.jpg"), + "overview": String("Three years after the demise of Jurassic World, a volcanic eruption threatens the remaining dinosaurs on the isla Nublar, so Claire Dearing, the former park manager, recruits Owen Grady to help prevent the extinction of the dinosaurs once again."), + "release_date": Number(1528246800), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Science Fiction"), + ], + }, + { + "id": String("441384"), + "title": String("The Beach Bum"), + "poster": String("https://image.tmdb.org/t/p/w500/iXMxdC7T0t3dxislnUNybcvJmAH.jpg"), + "overview": String("An irreverent comedy about the misadventures of Moondog, a rebellious stoner and lovable rogue who lives large."), + "release_date": Number(1553126400), + "genres": Array [ + String("Comedy"), + ], + }, + { + "id": String("480530"), + "title": String("Creed II"), + "poster": String("https://image.tmdb.org/t/p/w500/v3QyboWRoA4O9RbcsqH8tJMe8EB.jpg"), + "overview": String("Between personal obligations and training for his next big fight against an opponent with ties to his family's past, Adonis Creed is up against the challenge of his life."), + "release_date": Number(1542758400), + "genres": Array [ + String("Drama"), + ], + }, + { + "id": String("399361"), + "title": String("Triple Frontier"), + "poster": String("https://image.tmdb.org/t/p/w500/aBw8zYuAljVM1FeK5bZKITPH8ZD.jpg"), + "overview": String("Struggling to make ends meet, former special ops soldiers reunite for a high-stakes heist: stealing $75 million from a South American drug lord."), + "release_date": Number(1551830400), + "genres": Array [ + String("Action"), + String("Thriller"), + String("Crime"), + String("Adventure"), + ], + }, + { + "id": String("122917"), + "title": String("The Hobbit: The Battle of the Five Armies"), + "poster": String("https://image.tmdb.org/t/p/w500/xT98tLqatZPQApyRmlPL12LtiWp.jpg"), + "overview": String("Immediately after the events of The Desolation of Smaug, Bilbo and the dwarves try to defend Erebor's mountain of treasure from others who claim it: the men of the ruined Laketown and the elves of Mirkwood. Meanwhile an army of Orcs led by Azog the Defiler is marching on Erebor, fueled by the rise of the dark lord Sauron. Dwarves, elves and men must unite, and the hope for Middle-Earth falls into Bilbo's hands."), + "release_date": Number(1418169600), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Fantasy"), + ], + }, + { + "id": String("400157"), + "title": String("Wonder Park"), + "poster": String("https://image.tmdb.org/t/p/w500/8KomINZhIuJeB4oB7k7tkq8tmE.jpg"), + "overview": String("The story of a magnificent amusement park where the imagination of a wildly creative girl named June comes alive."), + "release_date": Number(1552521600), + "genres": Array [ + String("Comedy"), + String("Animation"), + String("Adventure"), + String("Family"), + String("Fantasy"), + ], + }, + { + "id": String("566555"), + "title": String("Detective Conan: The Fist of Blue Sapphire"), + "poster": String("https://image.tmdb.org/t/p/w500/jUfCBwhSTE02jTN9REJbHm2lRL8.jpg"), + "overview": String("23rd Detective Conan Movie."), + "release_date": Number(1555030800), + "genres": Array [ + String("Animation"), + String("Action"), + String("Drama"), + String("Mystery"), + String("Comedy"), + ], + }, + { + "id": String("438650"), + "title": String("Cold Pursuit"), + "poster": String("https://image.tmdb.org/t/p/w500/hXgmWPd1SuujRZ4QnKLzrj79PAw.jpg"), + "overview": String("Nels Coxman's quiet life comes crashing down when his beloved son dies under mysterious circumstances. His search for the truth soon becomes a quest for revenge as he seeks coldblooded justice against a drug lord and his inner circle."), + "release_date": Number(1549497600), + "genres": Array [ + String("Action"), + ], + }, + { + "id": String("181808"), + "title": String("Star Wars: The Last Jedi"), + "poster": String("https://image.tmdb.org/t/p/w500/kOVEVeg59E0wsnXmF9nrh6OmWII.jpg"), + "overview": String("Rey develops her newly discovered abilities with the guidance of Luke Skywalker, who is unsettled by the strength of her powers. Meanwhile, the Resistance prepares to do battle with the First Order."), + "release_date": Number(1513123200), + "genres": Array [ + String("Documentary"), + ], + }, + { + "id": String("383498"), + "title": String("Deadpool 2"), + "poster": String("https://image.tmdb.org/t/p/w500/to0spRl1CMDvyUbOnbb4fTk3VAd.jpg"), + "overview": String("Wisecracking mercenary Deadpool battles the evil and powerful Cable and other bad guys to save a boy's life."), + "release_date": Number(1526346000), + "genres": Array [ + String("Action"), + String("Comedy"), + String("Adventure"), + ], + }, + { + "id": String("157336"), + "title": String("Interstellar"), + "poster": String("https://image.tmdb.org/t/p/w500/gEU2QniE6E77NI6lCU6MxlNBvIx.jpg"), + "overview": String("Interstellar chronicles the adventures of a group of explorers who make use of a newly discovered wormhole to surpass the limitations on human space travel and conquer the vast distances involved in an interstellar voyage."), + "release_date": Number(1415145600), + "genres": Array [ + String("Adventure"), + String("Drama"), + String("Science Fiction"), + ], + }, + { + "id": String("449985"), + "title": String("Triple Threat"), + "poster": String("https://image.tmdb.org/t/p/w500/cSpM3QxmoSLp4O1WAMQpUDcaB7R.jpg"), + "overview": String("A crime syndicate places a hit on a billionaire's daughter, making her the target of an elite assassin squad. A small band of down-and-out mercenaries protects her, fighting tooth and nail to stop the assassins from reaching their target."), + "release_date": Number(1552953600), + "genres": Array [ + String("Action"), + String("Thriller"), + ], + }, + { + "id": String("99861"), + "title": String("Avengers: Age of Ultron"), + "poster": String("https://image.tmdb.org/t/p/w500/4ssDuvEDkSArWEdyBl2X5EHvYKU.jpg"), + "overview": String("When Tony Stark tries to jumpstart a dormant peacekeeping program, things go awry and Earth’s Mightiest Heroes are put to the ultimate test as the fate of the planet hangs in the balance. As the villainous Ultron emerges, it is up to The Avengers to stop him from enacting his terrible plans, and soon uneasy alliances and unexpected action pave the way for an epic and unique global adventure."), + "release_date": Number(1429664400), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Science Fiction"), + ], + }, + { + "id": String("271110"), + "title": String("Captain America: Civil War"), + "poster": String("https://image.tmdb.org/t/p/w500/rAGiXaUfPzY7CDEyNKUofk3Kw2e.jpg"), + "overview": String("Following the events of Age of Ultron, the collective governments of the world pass an act designed to regulate all superhuman activity. This polarizes opinion amongst the Avengers, causing two factions to side with Iron Man or Captain America, which causes an epic battle between former allies."), + "release_date": Number(1461718800), + "genres": Array [ + String("Comedy"), + String("Documentary"), + ], + }, + { + "id": String("529216"), + "title": String("Mirage"), + "poster": String("https://image.tmdb.org/t/p/w500/oLO9y7GoyAVUVoAWD6jCgY7GQfs.jpg"), + "overview": String("Two storms separated by 25 years. A woman murdered. A daughter missed. Only 72 hours to discover the truth."), + "release_date": Number(1543536000), + "genres": Array [ + String("Horror"), + ], + }, + { + "id": String("22"), + "title": String("Pirates of the Caribbean: The Curse of the Black Pearl"), + "poster": String("https://image.tmdb.org/t/p/w500/z8onk7LV9Mmw6zKz4hT6pzzvmvl.jpg"), + "overview": String("Jack Sparrow, a freewheeling 18th-century pirate, quarrels with a rival pirate bent on pillaging Port Royal. When the governor's daughter is kidnapped, Sparrow decides to help the girl's love save her."), + "release_date": Number(1057712400), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + String("Action"), + ], + }, + { + "id": String("490132"), + "title": String("Green Book"), + "poster": String("https://image.tmdb.org/t/p/w500/7BsvSuDQuoqhWmU2fL7W2GOcZHU.jpg"), + "overview": String("Tony Lip, a bouncer in 1962, is hired to drive pianist Don Shirley on a tour through the Deep South in the days when African Americans, forced to find alternate accommodations and services due to segregation laws below the Mason-Dixon Line, relied on a guide called The Negro Motorist Green Book."), + "release_date": Number(1542326400), + "genres": Array [ + String("Drama"), + String("Comedy"), + ], + }, + { + "id": String("351044"), + "title": String("Welcome to Marwen"), + "poster": String("https://image.tmdb.org/t/p/w500/dOULsxYQFsOR0cEBBB20xnjJkPD.jpg"), + "overview": String("When a devastating attack shatters Mark Hogancamp and wipes away all memories, no one expected recovery. Putting together pieces from his old and new life, Mark meticulously creates a wondrous town named Marwen where he can heal and be heroic. As he builds an astonishing art installation — a testament to the most powerful women he knows — through his fantasy world, he draws strength to triumph in the real one."), + "release_date": Number(1545350400), + "genres": Array [ + String("Drama"), + String("Comedy"), + String("Fantasy"), + ], + }, + { + "id": String("76338"), + "title": String("Thor: The Dark World"), + "poster": String("https://image.tmdb.org/t/p/w500/wp6OxE4poJ4G7c0U2ZIXasTSMR7.jpg"), + "overview": String("Thor fights to restore order across the cosmos… but an ancient race led by the vengeful Malekith returns to plunge the universe back into darkness. Faced with an enemy that even Odin and Asgard cannot withstand, Thor must embark on his most perilous and personal journey yet, one that will reunite him with Jane Foster and force him to sacrifice everything to save us all."), + "release_date": Number(1383004800), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Fantasy"), + ], + }, + { + "id": String("460321"), + "title": String("Close"), + "poster": String("https://image.tmdb.org/t/p/w500/4kjUGqPIv6kpxJUvjmeQX7nQpKd.jpg"), + "overview": String("A counter-terrorism expert takes a job protecting a young heiress. After an attempted kidnapping puts both of their lives in danger, they must flee."), + "release_date": Number(1547769600), + "genres": Array [ + String("Crime"), + String("Drama"), + ], + }, + { + "id": String("327331"), + "title": String("The Dirt"), + "poster": String("https://image.tmdb.org/t/p/w500/xGY5rr8441ib0lT9mtHZn7e8Aay.jpg"), + "overview": String("The story of Mötley Crüe and their rise from the Sunset Strip club scene of the early 1980s to superstardom."), + "release_date": Number(1553212800), + "genres": Array [], + }, + { + "id": String("412157"), + "title": String("Steel Country"), + "poster": String("https://image.tmdb.org/t/p/w500/7QqFn9UzuSnh1uOPeSfYL1MFjkB.jpg"), + "overview": String("When a young boy turns up dead in a sleepy Pennsylvania town, a local sanitation truck driver, Donald, plays detective, embarking on a precarious and obsessive investigation to prove the boy was murdered."), + "release_date": Number(1555030800), + "genres": Array [], + }, + { + "id": String("122"), + "title": String("The Lord of the Rings: The Return of the King"), + "poster": String("https://image.tmdb.org/t/p/w500/rCzpDGLbOoPwLjy3OAm5NUPOTrC.jpg"), + "overview": String("Aragorn is revealed as the heir to the ancient kings as he, Gandalf and the other members of the broken fellowship struggle to save Gondor from Sauron's forces. Meanwhile, Frodo and Sam bring the ring closer to the heart of Mordor, the dark lord's realm."), + "release_date": Number(1070236800), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + String("Action"), + ], + }, + { + "id": String("348"), + "title": String("Alien"), + "poster": String("https://image.tmdb.org/t/p/w500/vfrQk5IPloGg1v9Rzbh2Eg3VGyM.jpg"), + "overview": String("During its return to the earth, commercial spaceship Nostromo intercepts a distress signal from a distant planet. When a three-member team of the crew discovers a chamber containing thousands of eggs on the planet, a creature inside one of the eggs attacks an explorer. The entire crew is unaware of the impending nightmare set to descend upon them when the alien parasite planted inside its unfortunate host is birthed."), + "release_date": Number(296442000), + "genres": Array [ + String("Drama"), + ], + }, + { + "id": String("140607"), + "title": String("Star Wars: The Force Awakens"), + "poster": String("https://image.tmdb.org/t/p/w500/wqnLdwVXoBjKibFRR5U3y0aDUhs.jpg"), + "overview": String("Thirty years after defeating the Galactic Empire, Han Solo and his allies face a new threat from the evil Kylo Ren and his army of Stormtroopers."), + "release_date": Number(1450137600), + "genres": Array [ + String("Documentary"), + ], + }, + { + "id": String("293660"), + "title": String("Deadpool"), + "poster": String("https://image.tmdb.org/t/p/w500/yGSxMiF0cYuAiyuve5DA6bnWEOI.jpg"), + "overview": String("Deadpool tells the origin story of former Special Forces operative turned mercenary Wade Wilson, who after being subjected to a rogue experiment that leaves him with accelerated healing powers, adopts the alter ego Deadpool. Armed with his new abilities and a dark, twisted sense of humor, Deadpool hunts down the man who nearly destroyed his life."), + "release_date": Number(1454976000), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Comedy"), + ], + }, + { + "id": String("332562"), + "title": String("A Star Is Born"), + "poster": String("https://image.tmdb.org/t/p/w500/wrFpXMNBRj2PBiN4Z5kix51XaIZ.jpg"), + "overview": String("Seasoned musician Jackson Maine discovers — and falls in love with — struggling artist Ally. She has just about given up on her dream to make it big as a singer — until Jack coaxes her into the spotlight. But even as Ally's career takes off, the personal side of their relationship is breaking down, as Jack fights an ongoing battle with his own internal demons."), + "release_date": Number(1538528400), + "genres": Array [ + String("Documentary"), + String("Music"), + ], + }, + { + "id": String("426563"), + "title": String("Holmes & Watson"), + "poster": String("https://image.tmdb.org/t/p/w500/orEUlKndjV1rEcWqXbbjegjfv97.jpg"), + "overview": String("Detective Sherlock Holmes and Dr. John Watson join forces to investigate a murder at Buckingham Palace. They soon learn that they have only four days to solve the case, or the queen will become the next victim."), + "release_date": Number(1545696000), + "genres": Array [ + String("Mystery"), + String("Adventure"), + String("Comedy"), + String("Crime"), + ], + }, + { + "id": String("429197"), + "title": String("Vice"), + "poster": String("https://image.tmdb.org/t/p/w500/1gCab6rNv1r6V64cwsU4oEr649Y.jpg"), + "overview": String("George W. Bush picks Dick Cheney, the CEO of Halliburton Co., to be his Republican running mate in the 2000 presidential election. No stranger to politics, Cheney's impressive résumé includes stints as White House chief of staff, House Minority Whip and defense secretary. When Bush wins by a narrow margin, Cheney begins to use his newfound power to help reshape the country and the world."), + "release_date": Number(1545696000), + "genres": Array [ + String("Action"), + String("Thriller"), + ], + }, + { + "id": String("335984"), + "title": String("Blade Runner 2049"), + "poster": String("https://image.tmdb.org/t/p/w500/gajva2L0rPYkEWjzgFlBXCAVBE5.jpg"), + "overview": String("Thirty years after the events of the first film, a new blade runner, LAPD Officer K, unearths a long-buried secret that has the potential to plunge what's left of society into chaos. K's discovery leads him on a quest to find Rick Deckard, a former LAPD blade runner who has been missing for 30 years."), + "release_date": Number(1507078800), + "genres": Array [ + String("Documentary"), + ], + }, + { + "id": String("339380"), + "title": String("On the Basis of Sex"), + "poster": String("https://image.tmdb.org/t/p/w500/izY9Le3QWtu7xkHq7bjJnuE5yGI.jpg"), + "overview": String("Young lawyer Ruth Bader Ginsburg teams with her husband Marty to bring a groundbreaking case before the U.S. Court of Appeals and overturn a century of sex discrimination."), + "release_date": Number(1545696000), + "genres": Array [ + String("Drama"), + String("History"), + ], + }, + { + "id": String("562"), + "title": String("Die Hard"), + "poster": String("https://image.tmdb.org/t/p/w500/1fq1IpnuVqkD5BMuaXAUW0eVB21.jpg"), + "overview": String("NYPD cop John McClane's plan to reconcile with his estranged wife is thrown for a serious loop when, minutes after he arrives at her office, the entire building is overtaken by a group of terrorists. With little help from the LAPD, wisecracking McClane sets out to single-handedly rescue the hostages and bring the bad guys down."), + "release_date": Number(584931600), + "genres": Array [ + String("Action"), + ], + }, + { + "id": String("375588"), + "title": String("Robin Hood"), + "poster": String("https://image.tmdb.org/t/p/w500/AiRfixFcfTkNbn2A73qVJPlpkUo.jpg"), + "overview": String("A war-hardened Crusader and his Moorish commander mount an audacious revolt against the corrupt English crown."), + "release_date": Number(1542672000), + "genres": Array [ + String("Family"), + String("Animation"), + ], + }, + { + "id": String("381288"), + "title": String("Split"), + "poster": String("https://image.tmdb.org/t/p/w500/bqb9WsmZmDIKxqYmBJ9lj7J6hzn.jpg"), + "overview": String("Though Kevin has evidenced 23 personalities to his trusted psychiatrist, Dr. Fletcher, there remains one still submerged who is set to materialize and dominate all the others. Compelled to abduct three teenage girls led by the willful, observant Casey, Kevin reaches a war for survival among all of those contained within him — as well as everyone around him — as the walls between his compartments shatter apart."), + "release_date": Number(1484784000), + "genres": Array [ + String("Science Fiction"), + String("Drama"), + ], + }, + { + "id": String("10191"), + "title": String("How to Train Your Dragon"), + "poster": String("https://image.tmdb.org/t/p/w500/ygGmAO60t8GyqUo9xYeYxSZAR3b.jpg"), + "overview": String("As the son of a Viking leader on the cusp of manhood, shy Hiccup Horrendous Haddock III faces a rite of passage: he must kill a dragon to prove his warrior mettle. But after downing a feared dragon, he realizes that he no longer wants to destroy it, and instead befriends the beast – which he names Toothless – much to the chagrin of his warrior father"), + "release_date": Number(1268179200), + "genres": Array [ + String("Fantasy"), + String("Adventure"), + String("Animation"), + String("Family"), + ], + }, + { + "id": String("315635"), + "title": String("Spider-Man: Homecoming"), + "poster": String("https://image.tmdb.org/t/p/w500/c24sv2weTHPsmDa7jEMN0m2P3RT.jpg"), + "overview": String("Following the events of Captain America: Civil War, Peter Parker, with the help of his mentor Tony Stark, tries to balance his life as an ordinary high school student in Queens, New York City, with fighting crime as his superhero alter ego Spider-Man as a new threat, the Vulture, emerges."), + "release_date": Number(1499216400), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Science Fiction"), + String("Drama"), + ], + }, + { + "id": String("603"), + "title": String("The Matrix"), + "poster": String("https://image.tmdb.org/t/p/w500/f89U3ADr1oiB1s9GkdPOEpXUk5H.jpg"), + "overview": String("Set in the 22nd century, The Matrix tells the story of a computer hacker who joins a group of underground insurgents fighting the vast and powerful computers who now rule the earth."), + "release_date": Number(922755600), + "genres": Array [ + String("Documentary"), + String("Science Fiction"), + ], + }, + { + "id": String("586347"), + "title": String("The Hard Way"), + "poster": String("https://image.tmdb.org/t/p/w500/kwtLphVv3ZbIblc79YNYbZuzbzb.jpg"), + "overview": String("After learning of his brother's death during a mission in Romania, a former soldier joins two allies to hunt down a mysterious enemy and take his revenge."), + "release_date": Number(1553040000), + "genres": Array [ + String("Drama"), + String("Thriller"), + ], + }, + { + "id": String("141052"), + "title": String("Justice League"), + "poster": String("https://image.tmdb.org/t/p/w500/eifGNCSDuxJeS1loAXil5bIGgvC.jpg"), + "overview": String("Fuelled by his restored faith in humanity and inspired by Superman's selfless act, Bruce Wayne and Diana Prince assemble a team of metahumans consisting of Barry Allen, Arthur Curry and Victor Stone to face the catastrophic threat of Steppenwolf and the Parademons who are on the hunt for three Mother Boxes on Earth."), + "release_date": Number(1510704000), + "genres": Array [ + String("Animation"), + ], + }, + { + "id": String("680"), + "title": String("Pulp Fiction"), + "poster": String("https://image.tmdb.org/t/p/w500/plnlrtBUULT0rh3Xsjmpubiso3L.jpg"), + "overview": String("A burger-loving hit man, his philosophical partner, a drug-addled gangster's moll and a washed-up boxer converge in this sprawling, comedic crime caper. Their adventures unfurl in three stories that ingeniously trip back and forth in time."), + "release_date": Number(779158800), + "genres": Array [], + }, + { + "id": String("337167"), + "title": String("Fifty Shades Freed"), + "poster": String("https://image.tmdb.org/t/p/w500/9ZedQHPQVveaIYmDSTazhT3y273.jpg"), + "overview": String("Believing they have left behind shadowy figures from their past, newlyweds Christian and Ana fully embrace an inextricable connection and shared life of luxury. But just as she steps into her role as Mrs. Grey and he relaxes into an unfamiliar stability, new threats could jeopardize their happy ending before it even begins."), + "release_date": Number(1516147200), + "genres": Array [ + String("Drama"), + String("Romance"), + ], + }, + { + "id": String("102899"), + "title": String("Ant-Man"), + "poster": String("https://image.tmdb.org/t/p/w500/rQRnQfUl3kfp78nCWq8Ks04vnq1.jpg"), + "overview": String("Armed with the astonishing ability to shrink in scale but increase in strength, master thief Scott Lang must embrace his inner-hero and help his mentor, Doctor Hank Pym, protect the secret behind his spectacular Ant-Man suit from a new generation of towering threats. Against seemingly insurmountable obstacles, Pym and Lang must plan and pull off a heist that will save the world."), + "release_date": Number(1436835600), + "genres": Array [ + String("Documentary"), + ], + }, + { + "id": String("11"), + "title": String("Star Wars"), + "poster": String("https://image.tmdb.org/t/p/w500/6FfCtAuVAW8XJjZ7eWeLibRLWTw.jpg"), + "overview": String("Princess Leia is captured and held hostage by the evil Imperial forces in their effort to take over the galactic Empire. Venturesome Luke Skywalker and dashing captain Han Solo team together with the loveable robot duo R2-D2 and C-3PO to rescue the beautiful princess and restore peace and justice in the Empire."), + "release_date": Number(233370000), + "genres": Array [ + String("Action"), + ], + }, + { + "id": String("807"), + "title": String("Se7en"), + "poster": String("https://image.tmdb.org/t/p/w500/6yoghtyTpznpBik8EngEmJskVUO.jpg"), + "overview": String("Two homicide detectives are on a desperate hunt for a serial killer whose crimes are based on the 'seven deadly sins' in this dark and haunting film that takes viewers from the tortured remains of one victim to the next. The seasoned Det. Sommerset researches each sin in an effort to get inside the killer's mind, while his novice partner, Mills, scoffs at his efforts to unravel the case."), + "release_date": Number(811731600), + "genres": Array [ + String("Crime"), + String("Mystery"), + String("Thriller"), + ], + }, + { + "id": String("27205"), + "title": String("Inception"), + "poster": String("https://image.tmdb.org/t/p/w500/9gk7adHYeDvHkCSEqAvQNLV5Uge.jpg"), + "overview": String("Cobb, a skilled thief who commits corporate espionage by infiltrating the subconscious of his targets is offered a chance to regain his old life as payment for a task considered to be impossible: 'inception', the implantation of another person's idea into a target's subconscious."), + "release_date": Number(1279155600), + "genres": Array [ + String("Action"), + String("Science Fiction"), + String("Adventure"), + ], + }, + { + "id": String("767"), + "title": String("Harry Potter and the Half-Blood Prince"), + "poster": String("https://image.tmdb.org/t/p/w500/z7uo9zmQdQwU5ZJHFpv2Upl30i1.jpg"), + "overview": String("As Harry begins his sixth year at Hogwarts, he discovers an old book marked as 'Property of the Half-Blood Prince', and begins to learn more about Lord Voldemort's dark past."), + "release_date": Number(1246928400), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + ], + }, + { + "id": String("1726"), + "title": String("Iron Man"), + "poster": String("https://image.tmdb.org/t/p/w500/78lPtwv72eTNqFW9COBYI0dWDJa.jpg"), + "overview": String("After being held captive in an Afghan cave, billionaire engineer Tony Stark creates a unique weaponized suit of armor to fight evil."), + "release_date": Number(1209517200), + "genres": Array [ + String("Drama"), + ], + }, + { + "id": String("87101"), + "title": String("Terminator Genisys"), + "poster": String("https://image.tmdb.org/t/p/w500/oZRVDpNtmHk8M1VYy1aeOWUXgbC.jpg"), + "overview": String("The year is 2029. John Connor, leader of the resistance continues the war against the machines. At the Los Angeles offensive, John's fears of the unknown future begin to emerge when TECOM spies reveal a new plot by SkyNet that will attack him from both fronts; past and future, and will ultimately change warfare forever."), + "release_date": Number(1435021200), + "genres": Array [ + String("Science Fiction"), + String("Action"), + String("Thriller"), + String("Adventure"), + ], + }, + { + "id": String("438799"), + "title": String("Overlord"), + "poster": String("https://image.tmdb.org/t/p/w500/l76Rgp32z2UxjULApxGXAPpYdAP.jpg"), + "overview": String("France, June 1944. On the eve of D-Day, some American paratroopers fall behind enemy lines after their aircraft crashes while on a mission to destroy a radio tower in a small village near the beaches of Normandy. After reaching their target, the surviving paratroopers realise that, in addition to fighting the Nazi troops that patrol the village, they also must fight against something else."), + "release_date": Number(1541030400), + "genres": Array [ + String("Horror"), + String("War"), + String("Science Fiction"), + ], + }, + { + "id": String("260513"), + "title": String("Incredibles 2"), + "poster": String("https://image.tmdb.org/t/p/w500/9lFKBtaVIhP7E2Pk0IY1CwTKTMZ.jpg"), + "overview": String("Elastigirl springs into action to save the day, while Mr. Incredible faces his greatest challenge yet – taking care of the problems of his three children."), + "release_date": Number(1528938000), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Animation"), + String("Family"), + ], + }, + { + "id": String("672"), + "title": String("Harry Potter and the Chamber of Secrets"), + "poster": String("https://image.tmdb.org/t/p/w500/sdEOH0992YZ0QSxgXNIGLq1ToUi.jpg"), + "overview": String("Ignoring threats to his life, Harry returns to Hogwarts to investigate – aided by Ron and Hermione – a mysterious series of attacks."), + "release_date": Number(1037145600), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + ], + }, + { + "id": String("487297"), + "title": String("What Men Want"), + "poster": String("https://image.tmdb.org/t/p/w500/30IiwvIRqPGjUV0bxJkZfnSiCL.jpg"), + "overview": String("Magically able to hear what men are thinking, a sports agent uses her newfound ability to turn the tables on her overbearing male colleagues."), + "release_date": Number(1549584000), + "genres": Array [ + String("Drama"), + String("Romance"), + ], + }, + { + "id": String("399402"), + "title": String("Hunter Killer"), + "poster": String("https://image.tmdb.org/t/p/w500/a0j18XNVhP4RcW3wXwsqT0kVoQm.jpg"), + "overview": String("Captain Glass of the USS “Arkansas” discovers that a coup d'état is taking place in Russia, so he and his crew join an elite group working on the ground to prevent a war."), + "release_date": Number(1539910800), + "genres": Array [ + String("Action"), + String("Thriller"), + ], + }, + { + "id": String("466282"), + "title": String("To All the Boys I've Loved Before"), + "poster": String("https://image.tmdb.org/t/p/w500/hKHZhUbIyUAjcSrqJThFGYIR6kI.jpg"), + "overview": String("Lara Jean's love life goes from imaginary to out of control when her secret letters to every boy she's ever fallen for are mysteriously mailed out."), + "release_date": Number(1534381200), + "genres": Array [ + String("Comedy"), + String("Romance"), + ], + }, + { + "id": String("209112"), + "title": String("Batman v Superman: Dawn of Justice"), + "poster": String("https://image.tmdb.org/t/p/w500/5UsK3grJvtQrtzEgqNlDljJW96w.jpg"), + "overview": String("Fearing the actions of a god-like Super Hero left unchecked, Gotham City’s own formidable, forceful vigilante takes on Metropolis’s most revered, modern-day savior, while the world wrestles with what sort of hero it really needs. And with Batman and Superman at war with one another, a new threat quickly arises, putting mankind in greater danger than it’s ever known before."), + "release_date": Number(1458691200), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Fantasy"), + ], + }, + { + "id": String("360920"), + "title": String("The Grinch"), + "poster": String("https://image.tmdb.org/t/p/w500/stAu0oF6dYDhV5ssbmFUYkQPtCP.jpg"), + "overview": String("The Grinch hatches a scheme to ruin Christmas when the residents of Whoville plan their annual holiday celebration."), + "release_date": Number(1541635200), + "genres": Array [ + String("Animation"), + String("Family"), + String("Music"), + ], + }, + { + "id": String("10195"), + "title": String("Thor"), + "poster": String("https://image.tmdb.org/t/p/w500/prSfAi1xGrhLQNxVSUFh61xQ4Qy.jpg"), + "overview": String("Against his father Odin's will, The Mighty Thor - a powerful but arrogant warrior god - recklessly reignites an ancient war. Thor is cast down to Earth and forced to live among humans as punishment. Once here, Thor learns what it takes to be a true hero when the most dangerous villain of his world sends the darkest forces of Asgard to invade Earth."), + "release_date": Number(1303347600), + "genres": Array [ + String("Adventure"), + String("Fantasy"), + String("Action"), + ], + }, + { + "id": String("514439"), + "title": String("Breakthrough"), + "poster": String("https://image.tmdb.org/t/p/w500/t58dx7JIgchr9If5uxn3NmHaHoS.jpg"), + "overview": String("When he was 14, Smith drowned in Lake St. Louis and was dead for nearly an hour. According to reports at the time, CPR was performed 27 minutes to no avail. Then the youth's mother, Joyce Smith, entered the room, praying loudly. Suddenly, there was a pulse, and Smith came around."), + "release_date": Number(1554944400), + "genres": Array [ + String("War"), + ], + }, + { + "id": String("278"), + "title": String("The Shawshank Redemption"), + "poster": String("https://image.tmdb.org/t/p/w500/q6y0Go1tsGEsmtFryDOJo3dEmqu.jpg"), + "overview": String("Framed in the 1940s for the double murder of his wife and her lover, upstanding banker Andy Dufresne begins a new life at the Shawshank prison, where he puts his accounting skills to work for an amoral warden. During his long stretch in prison, Dufresne comes to be admired by the other inmates -- including an older prisoner named Red -- for his integrity and unquenchable sense of hope."), + "release_date": Number(780282000), + "genres": Array [ + String("Drama"), + String("Crime"), + ], + }, + { + "id": String("297762"), + "title": String("Wonder Woman"), + "poster": String("https://image.tmdb.org/t/p/w500/gfJGlDaHuWimErCr5Ql0I8x9QSy.jpg"), + "overview": String("An Amazon princess comes to the world of Man in the grips of the First World War to confront the forces of evil and bring an end to human conflict."), + "release_date": Number(1496106000), + "genres": Array [ + String("Action"), + String("Adventure"), + String("Fantasy"), + String("TV Movie"), + ], + }, +] diff --git a/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-12.snap b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-12.snap new file mode 100644 index 000000000..e9b0fdc3a --- /dev/null +++ b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-12.snap @@ -0,0 +1,71 @@ +--- +source: dump/src/reader/compat/v5_to_v6.rs +expression: spells.settings() +--- +Ok( + Settings { + displayed_attributes: Reset, + searchable_attributes: Reset, + filterable_attributes: Set( + {}, + ), + sortable_attributes: Set( + {}, + ), + ranking_rules: Set( + [ + "words", + "typo", + "proximity", + "attribute", + "sort", + "exactness", + ], + ), + stop_words: Set( + {}, + ), + synonyms: Set( + {}, + ), + distinct_attribute: Reset, + typo_tolerance: Set( + TypoSettings { + enabled: Set( + true, + ), + min_word_size_for_typos: Set( + MinWordSizeTyposSetting { + one_typo: Set( + 5, + ), + two_typos: Set( + 9, + ), + }, + ), + disable_on_words: Set( + {}, + ), + disable_on_attributes: Set( + {}, + ), + }, + ), + faceting: Set( + FacetingSettings { + max_values_per_facet: Set( + 100, + ), + }, + ), + pagination: Set( + PaginationSettings { + max_total_hits: Set( + 1000, + ), + }, + ), + _kind: PhantomData, + }, +) diff --git a/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-13.snap b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-13.snap new file mode 100644 index 000000000..a6a40d1bf --- /dev/null +++ b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-13.snap @@ -0,0 +1,533 @@ +--- +source: dump/src/reader/compat/v5_to_v6.rs +expression: documents +--- +[ + { + "index": "acid-arrow", + "name": "Acid Arrow", + "desc": [ + "A shimmering green arrow streaks toward a target within range and bursts in a spray of acid. Make a ranged spell attack against the target. On a hit, the target takes 4d4 acid damage immediately and 2d4 acid damage at the end of its next turn. On a miss, the arrow splashes the target with acid for half as much of the initial damage and no damage at the end of its next turn." + ], + "higher_level": [ + "When you cast this spell using a spell slot of 3rd level or higher, the damage (both initial and later) increases by 1d4 for each slot level above 2nd." + ], + "range": "90 feet", + "components": [ + "V", + "S", + "M" + ], + "material": "Powdered rhubarb leaf and an adder's stomach.", + "ritual": false, + "duration": "Instantaneous", + "concentration": false, + "casting_time": "1 action", + "level": 2, + "attack_type": "ranged", + "damage": { + "damage_type": { + "index": "acid", + "name": "Acid", + "url": "/api/damage-types/acid" + }, + "damage_at_slot_level": { + "2": "4d4", + "3": "5d4", + "4": "6d4", + "5": "7d4", + "6": "8d4", + "7": "9d4", + "8": "10d4", + "9": "11d4" + } + }, + "school": { + "index": "evocation", + "name": "Evocation", + "url": "/api/magic-schools/evocation" + }, + "classes": [ + { + "index": "wizard", + "name": "Wizard", + "url": "/api/classes/wizard" + } + ], + "subclasses": [ + { + "index": "lore", + "name": "Lore", + "url": "/api/subclasses/lore" + }, + { + "index": "land", + "name": "Land", + "url": "/api/subclasses/land" + } + ], + "url": "/api/spells/acid-arrow" + }, + { + "index": "acid-splash", + "name": "Acid Splash", + "desc": [ + "You hurl a bubble of acid. Choose one creature within range, or choose two creatures within range that are within 5 feet of each other. A target must succeed on a dexterity saving throw or take 1d6 acid damage.", + "This spell's damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6)." + ], + "range": "60 feet", + "components": [ + "V", + "S" + ], + "ritual": false, + "duration": "Instantaneous", + "concentration": false, + "casting_time": "1 action", + "level": 0, + "damage": { + "damage_type": { + "index": "acid", + "name": "Acid", + "url": "/api/damage-types/acid" + }, + "damage_at_character_level": { + "1": "1d6", + "5": "2d6", + "11": "3d6", + "17": "4d6" + } + }, + "school": { + "index": "conjuration", + "name": "Conjuration", + "url": "/api/magic-schools/conjuration" + }, + "classes": [ + { + "index": "sorcerer", + "name": "Sorcerer", + "url": "/api/classes/sorcerer" + }, + { + "index": "wizard", + "name": "Wizard", + "url": "/api/classes/wizard" + } + ], + "subclasses": [ + { + "index": "lore", + "name": "Lore", + "url": "/api/subclasses/lore" + } + ], + "url": "/api/spells/acid-splash", + "dc": { + "dc_type": { + "index": "dex", + "name": "DEX", + "url": "/api/ability-scores/dex" + }, + "dc_success": "none" + } + }, + { + "index": "aid", + "name": "Aid", + "desc": [ + "Your spell bolsters your allies with toughness and resolve. Choose up to three creatures within range. Each target's hit point maximum and current hit points increase by 5 for the duration." + ], + "higher_level": [ + "When you cast this spell using a spell slot of 3rd level or higher, a target's hit points increase by an additional 5 for each slot level above 2nd." + ], + "range": "30 feet", + "components": [ + "V", + "S", + "M" + ], + "material": "A tiny strip of white cloth.", + "ritual": false, + "duration": "8 hours", + "concentration": false, + "casting_time": "1 action", + "level": 2, + "school": { + "index": "abjuration", + "name": "Abjuration", + "url": "/api/magic-schools/abjuration" + }, + "classes": [ + { + "index": "cleric", + "name": "Cleric", + "url": "/api/classes/cleric" + }, + { + "index": "paladin", + "name": "Paladin", + "url": "/api/classes/paladin" + } + ], + "subclasses": [ + { + "index": "lore", + "name": "Lore", + "url": "/api/subclasses/lore" + } + ], + "url": "/api/spells/aid", + "heal_at_slot_level": { + "2": "5", + "3": "10", + "4": "15", + "5": "20", + "6": "25", + "7": "30", + "8": "35", + "9": "40" + } + }, + { + "index": "alarm", + "name": "Alarm", + "desc": [ + "You set an alarm against unwanted intrusion. Choose a door, a window, or an area within range that is no larger than a 20-foot cube. Until the spell ends, an alarm alerts you whenever a Tiny or larger creature touches or enters the warded area. When you cast the spell, you can designate creatures that won't set off the alarm. You also choose whether the alarm is mental or audible.", + "A mental alarm alerts you with a ping in your mind if you are within 1 mile of the warded area. This ping awakens you if you are sleeping.", + "An audible alarm produces the sound of a hand bell for 10 seconds within 60 feet." + ], + "range": "30 feet", + "components": [ + "V", + "S", + "M" + ], + "material": "A tiny bell and a piece of fine silver wire.", + "ritual": true, + "duration": "8 hours", + "concentration": false, + "casting_time": "1 minute", + "level": 1, + "school": { + "index": "abjuration", + "name": "Abjuration", + "url": "/api/magic-schools/abjuration" + }, + "classes": [ + { + "index": "ranger", + "name": "Ranger", + "url": "/api/classes/ranger" + }, + { + "index": "wizard", + "name": "Wizard", + "url": "/api/classes/wizard" + } + ], + "subclasses": [ + { + "index": "lore", + "name": "Lore", + "url": "/api/subclasses/lore" + } + ], + "url": "/api/spells/alarm", + "area_of_effect": { + "type": "cube", + "size": 20 + } + }, + { + "index": "alter-self", + "name": "Alter Self", + "desc": [ + "You assume a different form. When you cast the spell, choose one of the following options, the effects of which last for the duration of the spell. While the spell lasts, you can end one option as an action to gain the benefits of a different one.", + "***Aquatic Adaptation.*** You adapt your body to an aquatic environment, sprouting gills and growing webbing between your fingers. You can breathe underwater and gain a swimming speed equal to your walking speed.", + "***Change Appearance.*** You transform your appearance. You decide what you look like, including your height, weight, facial features, sound of your voice, hair length, coloration, and distinguishing characteristics, if any. You can make yourself appear as a member of another race, though none of your statistics change. You also can't appear as a creature of a different size than you, and your basic shape stays the same; if you're bipedal, you can't use this spell to become quadrupedal, for instance. At any time for the duration of the spell, you can use your action to change your appearance in this way again.", + "***Natural Weapons.*** You grow claws, fangs, spines, horns, or a different natural weapon of your choice. Your unarmed strikes deal 1d6 bludgeoning, piercing, or slashing damage, as appropriate to the natural weapon you chose, and you are proficient with your unarmed strikes. Finally, the natural weapon is magic and you have a +1 bonus to the attack and damage rolls you make using it." + ], + "range": "Self", + "components": [ + "V", + "S" + ], + "ritual": false, + "duration": "Up to 1 hour", + "concentration": true, + "casting_time": "1 action", + "level": 2, + "school": { + "index": "transmutation", + "name": "Transmutation", + "url": "/api/magic-schools/transmutation" + }, + "classes": [ + { + "index": "sorcerer", + "name": "Sorcerer", + "url": "/api/classes/sorcerer" + }, + { + "index": "wizard", + "name": "Wizard", + "url": "/api/classes/wizard" + } + ], + "subclasses": [ + { + "index": "lore", + "name": "Lore", + "url": "/api/subclasses/lore" + } + ], + "url": "/api/spells/alter-self" + }, + { + "index": "animal-friendship", + "name": "Animal Friendship", + "desc": [ + "This spell lets you convince a beast that you mean it no harm. Choose a beast that you can see within range. It must see and hear you. If the beast's Intelligence is 4 or higher, the spell fails. Otherwise, the beast must succeed on a wisdom saving throw or be charmed by you for the spell's duration. If you or one of your companions harms the target, the spells ends." + ], + "range": "30 feet", + "components": [ + "V", + "S", + "M" + ], + "material": "A morsel of food.", + "ritual": false, + "duration": "24 hours", + "concentration": false, + "casting_time": "1 action", + "level": 1, + "school": { + "index": "enchantment", + "name": "Enchantment", + "url": "/api/magic-schools/enchantment" + }, + "classes": [ + { + "index": "bard", + "name": "Bard", + "url": "/api/classes/bard" + }, + { + "index": "cleric", + "name": "Cleric", + "url": "/api/classes/cleric" + }, + { + "index": "druid", + "name": "Druid", + "url": "/api/classes/druid" + }, + { + "index": "ranger", + "name": "Ranger", + "url": "/api/classes/ranger" + } + ], + "subclasses": [], + "url": "/api/spells/animal-friendship", + "dc": { + "dc_type": { + "index": "wis", + "name": "WIS", + "url": "/api/ability-scores/wis" + }, + "dc_success": "none" + } + }, + { + "index": "animal-messenger", + "name": "Animal Messenger", + "desc": [ + "By means of this spell, you use an animal to deliver a message. Choose a Tiny beast you can see within range, such as a squirrel, a blue jay, or a bat. You specify a location, which you must have visited, and a recipient who matches a general description, such as \"a man or woman dressed in the uniform of the town guard\" or \"a red-haired dwarf wearing a pointed hat.\" You also speak a message of up to twenty-five words. The target beast travels for the duration of the spell toward the specified location, covering about 50 miles per 24 hours for a flying messenger, or 25 miles for other animals.", + "When the messenger arrives, it delivers your message to the creature that you described, replicating the sound of your voice. The messenger speaks only to a creature matching the description you gave. If the messenger doesn't reach its destination before the spell ends, the message is lost, and the beast makes its way back to where you cast this spell." + ], + "higher_level": [ + "If you cast this spell using a spell slot of 3nd level or higher, the duration of the spell increases by 48 hours for each slot level above 2nd." + ], + "range": "30 feet", + "components": [ + "V", + "S", + "M" + ], + "material": "A morsel of food.", + "ritual": true, + "duration": "24 hours", + "concentration": false, + "casting_time": "1 action", + "level": 2, + "school": { + "index": "enchantment", + "name": "Enchantment", + "url": "/api/magic-schools/enchantment" + }, + "classes": [ + { + "index": "bard", + "name": "Bard", + "url": "/api/classes/bard" + }, + { + "index": "druid", + "name": "Druid", + "url": "/api/classes/druid" + }, + { + "index": "ranger", + "name": "Ranger", + "url": "/api/classes/ranger" + } + ], + "subclasses": [ + { + "index": "lore", + "name": "Lore", + "url": "/api/subclasses/lore" + } + ], + "url": "/api/spells/animal-messenger" + }, + { + "index": "animal-shapes", + "name": "Animal Shapes", + "desc": [ + "Your magic turns others into beasts. Choose any number of willing creatures that you can see within range. You transform each target into the form of a Large or smaller beast with a challenge rating of 4 or lower. On subsequent turns, you can use your action to transform affected creatures into new forms.", + "The transformation lasts for the duration for each target, or until the target drops to 0 hit points or dies. You can choose a different form for each target. A target's game statistics are replaced by the statistics of the chosen beast, though the target retains its alignment and Intelligence, Wisdom, and Charisma scores. The target assumes the hit points of its new form, and when it reverts to its normal form, it returns to the number of hit points it had before it transformed. If it reverts as a result of dropping to 0 hit points, any excess damage carries over to its normal form. As long as the excess damage doesn't reduce the creature's normal form to 0 hit points, it isn't knocked unconscious. The creature is limited in the actions it can perform by the nature of its new form, and it can't speak or cast spells.", + "The target's gear melds into the new form. The target can't activate, wield, or otherwise benefit from any of its equipment." + ], + "range": "30 feet", + "components": [ + "V", + "S" + ], + "ritual": false, + "duration": "Up to 24 hours", + "concentration": true, + "casting_time": "1 action", + "level": 8, + "school": { + "index": "transmutation", + "name": "Transmutation", + "url": "/api/magic-schools/transmutation" + }, + "classes": [ + { + "index": "druid", + "name": "Druid", + "url": "/api/classes/druid" + } + ], + "subclasses": [], + "url": "/api/spells/animal-shapes" + }, + { + "index": "animate-dead", + "name": "Animate Dead", + "desc": [ + "This spell creates an undead servant. Choose a pile of bones or a corpse of a Medium or Small humanoid within range. Your spell imbues the target with a foul mimicry of life, raising it as an undead creature. The target becomes a skeleton if you chose bones or a zombie if you chose a corpse (the DM has the creature's game statistics).", + "On each of your turns, you can use a bonus action to mentally command any creature you made with this spell if the creature is within 60 feet of you (if you control multiple creatures, you can command any or all of them at the same time, issuing the same command to each one). You decide what action the creature will take and where it will move during its next turn, or you can issue a general command, such as to guard a particular chamber or corridor. If you issue no commands, the creature only defends itself against hostile creatures. Once given an order, the creature continues to follow it until its task is complete.", + "The creature is under your control for 24 hours, after which it stops obeying any command you've given it. To maintain control of the creature for another 24 hours, you must cast this spell on the creature again before the current 24-hour period ends. This use of the spell reasserts your control over up to four creatures you have animated with this spell, rather than animating a new one." + ], + "higher_level": [ + "When you cast this spell using a spell slot of 4th level or higher, you animate or reassert control over two additional undead creatures for each slot level above 3rd. Each of the creatures must come from a different corpse or pile of bones." + ], + "range": "10 feet", + "components": [ + "V", + "S", + "M" + ], + "material": "A drop of blood, a piece of flesh, and a pinch of bone dust.", + "ritual": false, + "duration": "Instantaneous", + "concentration": false, + "casting_time": "1 minute", + "level": 3, + "school": { + "index": "necromancy", + "name": "Necromancy", + "url": "/api/magic-schools/necromancy" + }, + "classes": [ + { + "index": "cleric", + "name": "Cleric", + "url": "/api/classes/cleric" + }, + { + "index": "wizard", + "name": "Wizard", + "url": "/api/classes/wizard" + } + ], + "subclasses": [ + { + "index": "lore", + "name": "Lore", + "url": "/api/subclasses/lore" + } + ], + "url": "/api/spells/animate-dead" + }, + { + "index": "animate-objects", + "name": "Animate Objects", + "desc": [ + "Objects come to life at your command. Choose up to ten nonmagical objects within range that are not being worn or carried. Medium targets count as two objects, Large targets count as four objects, Huge targets count as eight objects. You can't animate any object larger than Huge. Each target animates and becomes a creature under your control until the spell ends or until reduced to 0 hit points.", + "As a bonus action, you can mentally command any creature you made with this spell if the creature is within 500 feet of you (if you control multiple creatures, you can command any or all of them at the same time, issuing the same command to each one). You decide what action the creature will take and where it will move during its next turn, or you can issue a general command, such as to guard a particular chamber or corridor. If you issue no commands, the creature only defends itself against hostile creatures. Once given an order, the creature continues to follow it until its task is complete.", + "##### Animated Object Statistics", + "| Size | HP | AC | Attack | Str | Dex |", + "|---|---|---|---|---|---|", + "| Tiny | 20 | 18 | +8 to hit, 1d4 + 4 damage | 4 | 18 |", + "| Small | 25 | 16 | +6 to hit, 1d8 + 2 damage | 6 | 14 |", + "| Medium | 40 | 13 | +5 to hit, 2d6 + 1 damage | 10 | 12 |", + "| Large | 50 | 10 | +6 to hit, 2d10 + 2 damage | 14 | 10 |", + "| Huge | 80 | 10 | +8 to hit, 2d12 + 4 damage | 18 | 6 |", + "An animated object is a construct with AC, hit points, attacks, Strength, and Dexterity determined by its size. Its Constitution is 10 and its Intelligence and Wisdom are 3, and its Charisma is 1. Its speed is 30 feet; if the object lacks legs or other appendages it can use for locomotion, it instead has a flying speed of 30 feet and can hover. If the object is securely attached to a surface or a larger object, such as a chain bolted to a wall, its speed is 0. It has blindsight with a radius of 30 feet and is blind beyond that distance. When the animated object drops to 0 hit points, it reverts to its original object form, and any remaining damage carries over to its original object form.", + "If you command an object to attack, it can make a single melee attack against a creature within 5 feet of it. It makes a slam attack with an attack bonus and bludgeoning damage determined by its size. The DM might rule that a specific object inflicts slashing or piercing damage based on its form." + ], + "higher_level": [ + "If you cast this spell using a spell slot of 6th level or higher, you can animate two additional objects for each slot level above 5th." + ], + "range": "120 feet", + "components": [ + "V", + "S" + ], + "ritual": false, + "duration": "Up to 1 minute", + "concentration": true, + "casting_time": "1 action", + "level": 5, + "school": { + "index": "transmutation", + "name": "Transmutation", + "url": "/api/magic-schools/transmutation" + }, + "classes": [ + { + "index": "bard", + "name": "Bard", + "url": "/api/classes/bard" + }, + { + "index": "sorcerer", + "name": "Sorcerer", + "url": "/api/classes/sorcerer" + }, + { + "index": "wizard", + "name": "Wizard", + "url": "/api/classes/wizard" + } + ], + "subclasses": [], + "url": "/api/spells/animate-objects" + } +] diff --git a/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-3.snap b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-3.snap new file mode 100644 index 000000000..95310da23 --- /dev/null +++ b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-3.snap @@ -0,0 +1,369 @@ +--- +source: dump/src/reader/compat/v5_to_v6.rs +expression: tasks +--- +[ + { + "uid": 21, + "indexUid": null, + "status": "enqueued", + "type": "dumpExport", + "details": { + "dumpUid": "20221004-155510279" + }, + "enqueuedAt": "2022-10-04T15:55:10.281165892Z", + "startedAt": "2022-10-04T15:55:10.340507253Z" + }, + { + "uid": 20, + "indexUid": "movies_2", + "status": "enqueued", + "type": "documentAddition", + "details": { + "receivedDocuments": 200, + "indexedDocuments": 0 + }, + "enqueuedAt": "2022-10-04T15:55:10.272276202Z" + }, + { + "uid": 19, + "indexUid": "movies", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 100, + "indexedDocuments": 100 + }, + "duration": "PT0.062340221S", + "enqueuedAt": "2022-10-04T15:55:10.259722791Z", + "startedAt": "2022-10-04T15:55:10.273278199Z", + "finishedAt": "2022-10-04T15:55:10.33561842Z" + }, + { + "uid": 18, + "indexUid": "dnd_spells", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 10, + "indexedDocuments": 10 + }, + "duration": "PT0.017270771S", + "enqueuedAt": "2022-10-04T15:55:02.364638737Z", + "startedAt": "2022-10-04T15:55:02.37723266Z", + "finishedAt": "2022-10-04T15:55:02.394503431Z" + }, + { + "uid": 17, + "indexUid": "dnd_spells", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 10, + "indexedDocuments": 10 + }, + "duration": "PT0.017133299S", + "enqueuedAt": "2022-10-04T15:55:02.116014762Z", + "startedAt": "2022-10-04T15:55:02.128683566Z", + "finishedAt": "2022-10-04T15:55:02.145816865Z" + }, + { + "uid": 16, + "indexUid": "products", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 10, + "indexedDocuments": 10 + }, + "duration": "PT0.017521995S", + "enqueuedAt": "2022-10-04T15:55:01.867101853Z", + "startedAt": "2022-10-04T15:55:01.879803378Z", + "finishedAt": "2022-10-04T15:55:01.897325373Z" + }, + { + "uid": 15, + "indexUid": "products", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 10, + "indexedDocuments": 10 + }, + "duration": "PT0.011965881S", + "enqueuedAt": "2022-10-04T15:55:01.245884922Z", + "startedAt": "2022-10-04T15:55:01.258598227Z", + "finishedAt": "2022-10-04T15:55:01.270564108Z" + }, + { + "uid": 14, + "indexUid": "products", + "status": "succeeded", + "type": "settings", + "details": { + "synonyms": { + "android": [ + "phone", + "smartphone" + ], + "iphone": [ + "phone", + "smartphone" + ], + "phone": [ + "smartphone", + "iphone", + "android" + ] + } + }, + "duration": "PT0.010776512S", + "enqueuedAt": "2022-10-04T15:55:00.630109164Z", + "startedAt": "2022-10-04T15:55:00.643609011Z", + "finishedAt": "2022-10-04T15:55:00.654385523Z" + }, + { + "uid": 13, + "indexUid": "movies", + "status": "succeeded", + "type": "settings", + "details": { + "rankingRules": [ + "words", + "typo", + "proximity", + "attribute", + "sort", + "exactness", + "release_date:asc" + ] + }, + "duration": "PT0.010692540S", + "enqueuedAt": "2022-10-04T15:55:00.412114406Z", + "startedAt": "2022-10-04T15:55:00.425716285Z", + "finishedAt": "2022-10-04T15:55:00.436408825Z" + }, + { + "uid": 12, + "indexUid": "movies", + "status": "succeeded", + "type": "settings", + "details": { + "filterableAttributes": [ + "genres", + "id" + ], + "sortableAttributes": [ + "release_date" + ] + }, + "duration": "PT0.010643910S", + "enqueuedAt": "2022-10-04T15:55:00.18896188Z", + "startedAt": "2022-10-04T15:55:00.207804798Z", + "finishedAt": "2022-10-04T15:55:00.218448708Z" + }, + { + "uid": 11, + "indexUid": "movies", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 10, + "indexedDocuments": 10 + }, + "duration": "PT0.018142526S", + "enqueuedAt": "2022-10-04T15:54:59.971297669Z", + "startedAt": "2022-10-04T15:54:59.984799097Z", + "finishedAt": "2022-10-04T15:55:00.002941623Z" + }, + { + "uid": 10, + "indexUid": "movies", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 100, + "indexedDocuments": 100 + }, + "duration": "PT0.366830299S", + "enqueuedAt": "2022-10-04T15:51:44.147743385Z", + "startedAt": "2022-10-04T15:51:44.458473756Z", + "finishedAt": "2022-10-04T15:51:44.825304055Z" + }, + { + "uid": 9, + "indexUid": "movies", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 90, + "indexedDocuments": 90 + }, + "duration": "PT0.305133258S", + "enqueuedAt": "2022-10-04T15:51:44.142779621Z", + "startedAt": "2022-10-04T15:51:44.14805041Z", + "finishedAt": "2022-10-04T15:51:44.453183668Z" + }, + { + "uid": 8, + "indexUid": null, + "status": "succeeded", + "type": "dumpExport", + "details": { + "dumpUid": "20221004-155144042" + }, + "duration": "PT0.022334966S", + "enqueuedAt": "2022-10-04T15:51:44.042750953Z", + "startedAt": "2022-10-04T15:51:44.056661399Z", + "finishedAt": "2022-10-04T15:51:44.078996365Z" + }, + { + "uid": 7, + "indexUid": "dnd_spells", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 10, + "indexedDocuments": 10 + }, + "duration": "PT0.039310363S", + "enqueuedAt": "2022-10-04T15:51:37.628596827Z", + "startedAt": "2022-10-04T15:51:37.638650617Z", + "finishedAt": "2022-10-04T15:51:37.67796098Z" + }, + { + "uid": 6, + "indexUid": "dnd_spells", + "status": "failed", + "type": "documentAddition", + "details": { + "receivedDocuments": 10, + "indexedDocuments": 0 + }, + "error": { + "message": "The primary key inference process failed because the engine did not find any fields containing `id` substring in their name. If your document identifier does not contain any `id` substring, you can set the primary key of the index.", + "code": "unretrievable_error_code", + "type": "invalid_request", + "link": "https://docs.meilisearch.com/errors#unretrievable_error_code" + }, + "duration": "PT0.128068051S", + "enqueuedAt": "2022-10-04T15:51:37.381094632Z", + "startedAt": "2022-10-04T15:51:37.394321835Z", + "finishedAt": "2022-10-04T15:51:37.522389886Z" + }, + { + "uid": 5, + "indexUid": "products", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 10, + "indexedDocuments": 10 + }, + "duration": "PT0.021846888S", + "enqueuedAt": "2022-10-04T15:51:37.132755272Z", + "startedAt": "2022-10-04T15:51:37.146031377Z", + "finishedAt": "2022-10-04T15:51:37.167878265Z" + }, + { + "uid": 4, + "indexUid": "products", + "status": "failed", + "type": "documentAddition", + "details": { + "receivedDocuments": 10, + "indexedDocuments": 0 + }, + "error": { + "message": "The primary key inference process failed because the engine did not find any fields containing `id` substring in their name. If your document identifier does not contain any `id` substring, you can set the primary key of the index.", + "code": "unretrievable_error_code", + "type": "invalid_request", + "link": "https://docs.meilisearch.com/errors#unretrievable_error_code" + }, + "duration": "PT0.005439591S", + "enqueuedAt": "2022-10-04T15:51:36.53155275Z", + "startedAt": "2022-10-04T15:51:36.544820074Z", + "finishedAt": "2022-10-04T15:51:36.550259665Z" + }, + { + "uid": 3, + "indexUid": "products", + "status": "succeeded", + "type": "settings", + "details": { + "synonyms": { + "android": [ + "phone", + "smartphone" + ], + "iphone": [ + "phone", + "smartphone" + ], + "phone": [ + "smartphone", + "iphone", + "android" + ] + } + }, + "duration": "PT0.135098240S", + "enqueuedAt": "2022-10-04T15:51:35.939396731Z", + "startedAt": "2022-10-04T15:51:35.952670314Z", + "finishedAt": "2022-10-04T15:51:36.087768554Z" + }, + { + "uid": 2, + "indexUid": "movies", + "status": "succeeded", + "type": "settings", + "details": { + "rankingRules": [ + "words", + "typo", + "proximity", + "attribute", + "sort", + "exactness", + "release_date:asc" + ] + }, + "duration": "PT0.010129921S", + "enqueuedAt": "2022-10-04T15:51:35.721766758Z", + "startedAt": "2022-10-04T15:51:35.735030412Z", + "finishedAt": "2022-10-04T15:51:35.745160333Z" + }, + { + "uid": 1, + "indexUid": "movies", + "status": "succeeded", + "type": "settings", + "details": { + "filterableAttributes": [ + "genres", + "id" + ], + "sortableAttributes": [ + "release_date" + ] + }, + "duration": "PT0.022219445S", + "enqueuedAt": "2022-10-04T15:51:35.50733827Z", + "startedAt": "2022-10-04T15:51:35.517547002Z", + "finishedAt": "2022-10-04T15:51:35.539766447Z" + }, + { + "uid": 0, + "indexUid": "movies", + "status": "succeeded", + "type": "documentAddition", + "details": { + "receivedDocuments": 10, + "indexedDocuments": 10 + }, + "duration": "PT0.156616872S", + "enqueuedAt": "2022-10-04T15:51:35.291992167Z", + "startedAt": "2022-10-04T15:51:35.302593877Z", + "finishedAt": "2022-10-04T15:51:35.459210749Z" + } +] diff --git a/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-4.snap b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-4.snap new file mode 100644 index 000000000..83d25fdc2 --- /dev/null +++ b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-4.snap @@ -0,0 +1,34 @@ +--- +source: dump/src/reader/compat/v5_to_v6.rs +expression: keys +--- +[ + { + "description": "Use it to search from the frontend", + "name": "Default Search API Key", + "uid": "192e54ae-32f8-4c61-85f5-eb2b1b255629", + "actions": [ + "search" + ], + "indexes": [ + "*" + ], + "expires_at": null, + "created_at": "2022-10-04T15:51:29.254137561Z", + "updated_at": "2022-10-04T15:51:29.254137561Z" + }, + { + "description": "Use it for anything that is not a search operation. Caution! Do not expose it on a public frontend", + "name": "Default Admin API Key", + "uid": "292cd892-be06-452f-a90b-ef28dfc94077", + "actions": [ + "*" + ], + "indexes": [ + "*" + ], + "expires_at": null, + "created_at": "2022-10-04T15:51:29.243913218Z", + "updated_at": "2022-10-04T15:51:29.243913218Z" + } +] diff --git a/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-6.snap b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-6.snap new file mode 100644 index 000000000..09504a3e0 --- /dev/null +++ b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-6.snap @@ -0,0 +1,85 @@ +--- +source: dump/src/reader/compat/v5_to_v6.rs +expression: products.settings() +--- +Ok( + Settings { + displayed_attributes: Reset, + searchable_attributes: Reset, + filterable_attributes: Set( + {}, + ), + sortable_attributes: Set( + {}, + ), + ranking_rules: Set( + [ + "words", + "typo", + "proximity", + "attribute", + "sort", + "exactness", + ], + ), + stop_words: Set( + {}, + ), + synonyms: Set( + { + "android": [ + "phone", + "smartphone", + ], + "iphone": [ + "phone", + "smartphone", + ], + "phone": [ + "android", + "iphone", + "smartphone", + ], + }, + ), + distinct_attribute: Reset, + typo_tolerance: Set( + TypoSettings { + enabled: Set( + true, + ), + min_word_size_for_typos: Set( + MinWordSizeTyposSetting { + one_typo: Set( + 5, + ), + two_typos: Set( + 9, + ), + }, + ), + disable_on_words: Set( + {}, + ), + disable_on_attributes: Set( + {}, + ), + }, + ), + faceting: Set( + FacetingSettings { + max_values_per_facet: Set( + 100, + ), + }, + ), + pagination: Set( + PaginationSettings { + max_total_hits: Set( + 1000, + ), + }, + ), + _kind: PhantomData, + }, +) diff --git a/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-7.snap b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-7.snap new file mode 100644 index 000000000..bb40891b7 --- /dev/null +++ b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-7.snap @@ -0,0 +1,308 @@ +--- +source: dump/src/reader/compat/v5_to_v6.rs +expression: documents +--- +[ + { + "sku": 43900, + "name": "Duracell - AAA Batteries (4-Pack)", + "type": "HardGood", + "price": 5.49, + "upc": "041333424019", + "category": [ + { + "id": "pcmcat312300050015", + "name": "Connected Home & Housewares" + }, + { + "id": "pcmcat248700050021", + "name": "Housewares" + }, + { + "id": "pcmcat303600050001", + "name": "Household Batteries" + }, + { + "id": "abcat0208002", + "name": "Alkaline Batteries" + } + ], + "shipping": 5.49, + "description": "Compatible with select electronic devices; AAA size; DURALOCK Power Preserve technology; 4-pack", + "manufacturer": "Duracell", + "model": "MN2400B4Z", + "url": "http://www.bestbuy.com/site/duracell-aaa-batteries-4-pack/43900.p?id=1051384074145&skuId=43900&cmp=RMXCC", + "image": "http://img.bbystatic.com/BestBuy_US/images/products/4390/43900_sa.jpg" + }, + { + "sku": 48530, + "name": "Duracell - AA 1.5V CopperTop Batteries (4-Pack)", + "type": "HardGood", + "price": 5.49, + "upc": "041333415017", + "category": [ + { + "id": "pcmcat312300050015", + "name": "Connected Home & Housewares" + }, + { + "id": "pcmcat248700050021", + "name": "Housewares" + }, + { + "id": "pcmcat303600050001", + "name": "Household Batteries" + }, + { + "id": "abcat0208002", + "name": "Alkaline Batteries" + } + ], + "shipping": 5.49, + "description": "Long-lasting energy; DURALOCK Power Preserve technology; for toys, clocks, radios, games, remotes, PDAs and more", + "manufacturer": "Duracell", + "model": "MN1500B4Z", + "url": "http://www.bestbuy.com/site/duracell-aa-1-5v-coppertop-batteries-4-pack/48530.p?id=1099385268988&skuId=48530&cmp=RMXCC", + "image": "http://img.bbystatic.com/BestBuy_US/images/products/4853/48530_sa.jpg" + }, + { + "sku": 127687, + "name": "Duracell - AA Batteries (8-Pack)", + "type": "HardGood", + "price": 7.49, + "upc": "041333825014", + "category": [ + { + "id": "pcmcat312300050015", + "name": "Connected Home & Housewares" + }, + { + "id": "pcmcat248700050021", + "name": "Housewares" + }, + { + "id": "pcmcat303600050001", + "name": "Household Batteries" + }, + { + "id": "abcat0208002", + "name": "Alkaline Batteries" + } + ], + "shipping": 5.49, + "description": "Compatible with select electronic devices; AA size; DURALOCK Power Preserve technology; 8-pack", + "manufacturer": "Duracell", + "model": "MN1500B8Z", + "url": "http://www.bestbuy.com/site/duracell-aa-batteries-8-pack/127687.p?id=1051384045676&skuId=127687&cmp=RMXCC", + "image": "http://img.bbystatic.com/BestBuy_US/images/products/1276/127687_sa.jpg" + }, + { + "sku": 150115, + "name": "Energizer - MAX Batteries AA (4-Pack)", + "type": "HardGood", + "price": 4.99, + "upc": "039800011329", + "category": [ + { + "id": "pcmcat312300050015", + "name": "Connected Home & Housewares" + }, + { + "id": "pcmcat248700050021", + "name": "Housewares" + }, + { + "id": "pcmcat303600050001", + "name": "Household Batteries" + }, + { + "id": "abcat0208002", + "name": "Alkaline Batteries" + } + ], + "shipping": 5.49, + "description": "4-pack AA alkaline batteries; battery tester included", + "manufacturer": "Energizer", + "model": "E91BP-4", + "url": "http://www.bestbuy.com/site/energizer-max-batteries-aa-4-pack/150115.p?id=1051384046217&skuId=150115&cmp=RMXCC", + "image": "http://img.bbystatic.com/BestBuy_US/images/products/1501/150115_sa.jpg" + }, + { + "sku": 185230, + "name": "Duracell - C Batteries (4-Pack)", + "type": "HardGood", + "price": 8.99, + "upc": "041333440019", + "category": [ + { + "id": "pcmcat312300050015", + "name": "Connected Home & Housewares" + }, + { + "id": "pcmcat248700050021", + "name": "Housewares" + }, + { + "id": "pcmcat303600050001", + "name": "Household Batteries" + }, + { + "id": "abcat0208002", + "name": "Alkaline Batteries" + } + ], + "shipping": 5.49, + "description": "Compatible with select electronic devices; C size; DURALOCK Power Preserve technology; 4-pack", + "manufacturer": "Duracell", + "model": "MN1400R4Z", + "url": "http://www.bestbuy.com/site/duracell-c-batteries-4-pack/185230.p?id=1051384046486&skuId=185230&cmp=RMXCC", + "image": "http://img.bbystatic.com/BestBuy_US/images/products/1852/185230_sa.jpg" + }, + { + "sku": 185267, + "name": "Duracell - D Batteries (4-Pack)", + "type": "HardGood", + "price": 9.99, + "upc": "041333430010", + "category": [ + { + "id": "pcmcat312300050015", + "name": "Connected Home & Housewares" + }, + { + "id": "pcmcat248700050021", + "name": "Housewares" + }, + { + "id": "pcmcat303600050001", + "name": "Household Batteries" + }, + { + "id": "abcat0208002", + "name": "Alkaline Batteries" + } + ], + "shipping": 5.99, + "description": "Compatible with select electronic devices; D size; DURALOCK Power Preserve technology; 4-pack", + "manufacturer": "Duracell", + "model": "MN1300R4Z", + "url": "http://www.bestbuy.com/site/duracell-d-batteries-4-pack/185267.p?id=1051384046551&skuId=185267&cmp=RMXCC", + "image": "http://img.bbystatic.com/BestBuy_US/images/products/1852/185267_sa.jpg" + }, + { + "sku": 312290, + "name": "Duracell - 9V Batteries (2-Pack)", + "type": "HardGood", + "price": 7.99, + "upc": "041333216010", + "category": [ + { + "id": "pcmcat312300050015", + "name": "Connected Home & Housewares" + }, + { + "id": "pcmcat248700050021", + "name": "Housewares" + }, + { + "id": "pcmcat303600050001", + "name": "Household Batteries" + }, + { + "id": "abcat0208002", + "name": "Alkaline Batteries" + } + ], + "shipping": 5.49, + "description": "Compatible with select electronic devices; alkaline chemistry; 9V size; DURALOCK Power Preserve technology; 2-pack", + "manufacturer": "Duracell", + "model": "MN1604B2Z", + "url": "http://www.bestbuy.com/site/duracell-9v-batteries-2-pack/312290.p?id=1051384050321&skuId=312290&cmp=RMXCC", + "image": "http://img.bbystatic.com/BestBuy_US/images/products/3122/312290_sa.jpg" + }, + { + "sku": 324884, + "name": "Directed Electronics - Viper Audio Glass Break Sensor", + "type": "HardGood", + "price": 39.99, + "upc": "093207005060", + "category": [ + { + "id": "pcmcat113100050015", + "name": "Carfi Instore Only" + } + ], + "shipping": 0, + "description": "From our expanded online assortment; compatible with Directed Electronics alarm systems; microphone and microprocessor detect and analyze intrusions; detects quiet glass breaks", + "manufacturer": "Directed Electronics", + "model": "506T", + "url": "http://www.bestbuy.com/site/directed-electronics-viper-audio-glass-break-sensor/324884.p?id=1112808077651&skuId=324884&cmp=RMXCC", + "image": "http://img.bbystatic.com/BestBuy_US/images/products/3248/324884_rc.jpg" + }, + { + "sku": 333179, + "name": "Energizer - N Cell E90 Batteries (2-Pack)", + "type": "HardGood", + "price": 5.99, + "upc": "039800013200", + "category": [ + { + "id": "pcmcat312300050015", + "name": "Connected Home & Housewares" + }, + { + "id": "pcmcat248700050021", + "name": "Housewares" + }, + { + "id": "pcmcat303600050001", + "name": "Household Batteries" + }, + { + "id": "abcat0208006", + "name": "Specialty Batteries" + } + ], + "shipping": 5.49, + "description": "Alkaline batteries; 1.5V", + "manufacturer": "Energizer", + "model": "E90BP-2", + "url": "http://www.bestbuy.com/site/energizer-n-cell-e90-batteries-2-pack/333179.p?id=1185268509951&skuId=333179&cmp=RMXCC", + "image": "http://img.bbystatic.com/BestBuy_US/images/products/3331/333179_sa.jpg" + }, + { + "sku": 346575, + "name": "Metra - Radio Installation Dash Kit for Most 1989-2000 Ford, Lincoln & Mercury Vehicles - Black", + "type": "HardGood", + "price": 16.99, + "upc": "086429002757", + "category": [ + { + "id": "abcat0300000", + "name": "Car Electronics & GPS" + }, + { + "id": "pcmcat165900050023", + "name": "Car Installation Parts & Accessories" + }, + { + "id": "pcmcat331600050007", + "name": "Car Audio Installation Parts" + }, + { + "id": "pcmcat165900050031", + "name": "Deck Installation Parts" + }, + { + "id": "pcmcat165900050033", + "name": "Dash Installation Kits" + } + ], + "shipping": 0, + "description": "From our expanded online assortment; compatible with most 1989-2000 Ford, Lincoln and Mercury vehicles; snap-in TurboKit offers fast installation; spacer/trim ring; rear support bracket", + "manufacturer": "Metra", + "model": "99-5512", + "url": "http://www.bestbuy.com/site/metra-radio-installation-dash-kit-for-most-1989-2000-ford-lincoln-mercury-vehicles-black/346575.p?id=1218118704590&skuId=346575&cmp=RMXCC", + "image": "http://img.bbystatic.com/BestBuy_US/images/products/3465/346575_rc.jpg" + } +] diff --git a/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-9.snap b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-9.snap new file mode 100644 index 000000000..d420d60cd --- /dev/null +++ b/dump/src/reader/compat/snapshots/dump__reader__compat__v5_to_v6__test__compat_v5_v6-9.snap @@ -0,0 +1,77 @@ +--- +source: dump/src/reader/compat/v5_to_v6.rs +expression: movies.settings() +--- +Ok( + Settings { + displayed_attributes: Reset, + searchable_attributes: Reset, + filterable_attributes: Set( + { + "genres", + "id", + }, + ), + sortable_attributes: Set( + { + "release_date", + }, + ), + ranking_rules: Set( + [ + "words", + "typo", + "proximity", + "attribute", + "sort", + "exactness", + "release_date:asc", + ], + ), + stop_words: Set( + {}, + ), + synonyms: Set( + {}, + ), + distinct_attribute: Reset, + typo_tolerance: Set( + TypoSettings { + enabled: Set( + true, + ), + min_word_size_for_typos: Set( + MinWordSizeTyposSetting { + one_typo: Set( + 5, + ), + two_typos: Set( + 9, + ), + }, + ), + disable_on_words: Set( + {}, + ), + disable_on_attributes: Set( + {}, + ), + }, + ), + faceting: Set( + FacetingSettings { + max_values_per_facet: Set( + 100, + ), + }, + ), + pagination: Set( + PaginationSettings { + max_total_hits: Set( + 1000, + ), + }, + ), + _kind: PhantomData, + }, +) diff --git a/dump/src/reader/compat/v5_to_v6.rs b/dump/src/reader/compat/v5_to_v6.rs index 8f994a1c7..b502ea169 100644 --- a/dump/src/reader/compat/v5_to_v6.rs +++ b/dump/src/reader/compat/v5_to_v6.rs @@ -3,61 +3,17 @@ use std::fs::File; use crate::reader::{v5, v6, DumpReader, IndexReader}; use crate::Result; -use super::Compat; +pub struct CompatV5ToV6 { + from: v5::V5Reader, +} -impl - Compat< - dyn DumpReader< - Document = v5::Document, - Settings = v5::Settings, - Task = v5::Task, - UpdateFile = v5::UpdateFile, - Key = v5::Key, - >, - > -{ - pub fn new( - v5: Box< - dyn DumpReader< - Document = v5::Document, - Settings = v5::Settings, - Task = v5::Task, - UpdateFile = v5::UpdateFile, - Key = v5::Key, - >, - >, - ) -> Compat< - dyn DumpReader< - Document = v5::Document, - Settings = v5::Settings, - Task = v5::Task, - UpdateFile = v5::UpdateFile, - Key = v5::Key, - >, - > { - Compat { from: v5 } +impl CompatV5ToV6 { + pub fn new(v5: v5::V5Reader) -> CompatV5ToV6 { + CompatV5ToV6 { from: v5 } } } -impl DumpReader - for Compat< - dyn DumpReader< - Document = v5::Document, - Settings = v5::Settings, - Task = v5::Task, - UpdateFile = v5::UpdateFile, - Key = v5::Key, - >, - > -{ - type Document = v6::Document; - type Settings = v6::Settings; - - type Task = v6::Task; - type UpdateFile = File; - - type Key = v6::Key; - +impl DumpReader for CompatV5ToV6 { fn version(&self) -> crate::Version { self.from.version() } @@ -72,31 +28,12 @@ impl DumpReader fn indexes( &self, - ) -> Result< - Box< - dyn Iterator< - Item = Result< - Box< - dyn crate::reader::IndexReader< - Document = Self::Document, - Settings = Self::Settings, - > + '_, - >, - >, - > + '_, - >, - > { + ) -> Result>> + '_>> + { Ok(Box::new(self.from.indexes()?.map( |index_reader| -> Result<_> { - let compat = Box::new(Compat::< - dyn IndexReader>, - >::new(index_reader?)) - as Box< - dyn crate::reader::IndexReader< - Document = Self::Document, - Settings = Self::Settings, - > + '_, - >; + let compat = Box::new(CompatIndexV5ToV6::new(index_reader?)) + as Box; Ok(compat) }, ))) @@ -104,7 +41,7 @@ impl DumpReader fn tasks( &mut self, - ) -> Box)>> + '_> { + ) -> Box)>> + '_> { Box::new(self.from.tasks().map(|task| { task.map(|(task, content_file)| { let task_view: v5::TaskView = task.into(); @@ -166,7 +103,7 @@ impl DumpReader })) } - fn keys(&mut self) -> Box> + '_> { + fn keys(&mut self) -> Box> + '_> { Box::new(self.from.keys().map(|key| { key.map(|key| v6::Key { description: key.description, @@ -195,30 +132,28 @@ impl DumpReader } } -impl Compat>> { - pub fn new( - v5: Box>>, - ) -> Compat>> - { - Compat { from: v5 } +pub struct CompatIndexV5ToV6 { + from: v5::V5IndexReader, +} + +impl CompatIndexV5ToV6 { + pub fn new(v5: v5::V5IndexReader) -> CompatIndexV5ToV6 { + CompatIndexV5ToV6 { from: v5 } } } -impl IndexReader - for Compat>> -{ - type Document = v6::Document; - type Settings = v6::Settings; - +impl IndexReader for CompatIndexV5ToV6 { fn metadata(&self) -> &crate::IndexMetadata { self.from.metadata() } - fn documents(&mut self) -> Result> + '_>> { - self.from.documents() + fn documents(&mut self) -> Result> + '_>> { + self.from + .documents() + .map(|iter| Box::new(iter) as Box> + '_>) } - fn settings(&mut self) -> Result { + fn settings(&mut self) -> Result> { Ok(v6::Settings::::from(self.from.settings()?).check()) } } @@ -390,25 +325,7 @@ pub(crate) mod test { let mut archive = tar::Archive::new(gz); archive.unpack(dir.path()).unwrap(); - let dump = Box::new(v5::V5Reader::open(dir).unwrap()); - let mut dump = Box::new(Compat::< - dyn DumpReader< - Document = v5::Document, - Settings = v5::Settings, - Task = v5::Task, - UpdateFile = v5::UpdateFile, - Key = v5::Key, - >, - >::new(dump)) - as Box< - dyn DumpReader< - Document = v6::Document, - Settings = v6::Settings, - Task = v6::Task, - UpdateFile = v6::UpdateFile, - Key = v6::Key, - >, - >; + let mut dump = v5::V5Reader::open(dir).unwrap().to_v6(); // top level infos insta::assert_display_snapshot!(dump.date().unwrap(), @"2022-10-04 15:55:10.344982459 +00:00:00"); diff --git a/dump/src/reader/mod.rs b/dump/src/reader/mod.rs index e6decbf7d..b0f1ad74a 100644 --- a/dump/src/reader/mod.rs +++ b/dump/src/reader/mod.rs @@ -16,7 +16,7 @@ use crate::{IndexMetadata, Result, Version}; // use self::loaders::{v2, v3, v4, v5}; // pub mod error; -// mod compat; +mod compat; // mod loaders; // mod v1; pub(self) mod v4; @@ -44,31 +44,7 @@ pub fn open(dump: impl Read) -> Result> { Version::V2 => todo!(), Version::V3 => todo!(), Version::V4 => todo!(), - Version::V5 => { - /* - let dump_reader = Box::new(v5::V5Reader::open(path)?); - let dump_reader = Box::new(Compat::< - dyn DumpReader< - Document = v5::Document, - Settings = v5::Settings, - Task = v5::Task, - UpdateFile = v5::UpdateFile, - Key = v5::Key, - >, - >::new(dump_reader)) - as Box< - dyn DumpReader< - Document = v6::Document, - Settings = v6::Settings, - Task = v6::Task, - UpdateFile = v6::UpdateFile, - Key = v6::Key, - >, - >; - Ok(dump_reader) - */ - todo!() - } + Version::V5 => Ok(Box::new(v5::V5Reader::open(path)?.to_v6())), Version::V6 => Ok(Box::new(v6::V6Reader::open(path)?)), } } diff --git a/dump/src/reader/v5/mod.rs b/dump/src/reader/v5/mod.rs index 61dab43e5..c252550d5 100644 --- a/dump/src/reader/v5/mod.rs +++ b/dump/src/reader/v5/mod.rs @@ -45,7 +45,7 @@ use uuid::Uuid; use crate::{IndexMetadata, Result, Version}; -use super::{DumpReader, IndexReader}; +use super::{compat::v5_to_v6::CompatV5ToV6, DumpReader, IndexReader}; mod keys; mod meta; @@ -100,20 +100,24 @@ impl V5Reader { }) } - fn version(&self) -> Version { + pub fn to_v6(self) -> CompatV5ToV6 { + CompatV5ToV6::new(self) + } + + pub fn version(&self) -> Version { Version::V5 } - fn date(&self) -> Option { + pub fn date(&self) -> Option { Some(self.metadata.dump_date) } - fn instance_uid(&self) -> Result> { + pub fn instance_uid(&self) -> Result> { let uuid = fs::read_to_string(self.dump.path().join("instance-uid"))?; Ok(Some(Uuid::parse_str(&uuid)?)) } - fn indexes(&self) -> Result> + '_> { + pub fn indexes(&self) -> Result> + '_> { Ok(self.index_uuid.iter().map(|index| -> Result<_> { Ok(V5IndexReader::new( index.uid.clone(), @@ -126,7 +130,7 @@ impl V5Reader { })) } - fn tasks(&mut self) -> impl Iterator)>> + '_ { + pub fn tasks(&mut self) -> impl Iterator)>> + '_ { (&mut self.tasks).lines().map(|line| -> Result<_> { let task: Task = serde_json::from_str(&line?)?; if !task.is_finished() { @@ -148,14 +152,14 @@ impl V5Reader { }) } - fn keys(&mut self) -> impl Iterator> + '_ { + pub fn keys(&mut self) -> impl Iterator> + '_ { (&mut self.keys) .lines() .map(|line| -> Result<_> { Ok(serde_json::from_str(&line?)?) }) } } -struct V5IndexReader { +pub struct V5IndexReader { metadata: IndexMetadata, settings: Settings, @@ -184,17 +188,17 @@ impl V5IndexReader { Ok(ret) } - fn metadata(&self) -> &IndexMetadata { + pub fn metadata(&self) -> &IndexMetadata { &self.metadata } - fn documents(&mut self) -> Result> + '_> { + pub fn documents(&mut self) -> Result> + '_> { Ok((&mut self.documents) .lines() .map(|line| -> Result<_> { Ok(serde_json::from_str(&line?)?) })) } - fn settings(&mut self) -> Result> { + pub fn settings(&mut self) -> Result> { Ok(self.settings.clone()) } }