Skip to content

Commit e29c07b

Browse files
committed
Add initial lazy property logic
1 parent f1e14a2 commit e29c07b

File tree

5 files changed

+1765
-266
lines changed

5 files changed

+1765
-266
lines changed

packages/react-router/__tests__/router/context-middleware-test.ts

Lines changed: 102 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -562,26 +562,30 @@ describe("context/middleware", () => {
562562
{
563563
id: "parent",
564564
path: "/parent",
565-
unstable_lazyMiddleware: async () => [
566-
async ({ context }, next) => {
567-
await next();
568-
// Grab a snapshot at the end of the upwards middleware chain
569-
snapshot = context.get(orderContext);
570-
},
571-
getOrderMiddleware(orderContext, "a"),
572-
getOrderMiddleware(orderContext, "b"),
573-
],
565+
lazy: {
566+
unstable_middleware: async () => [
567+
async ({ context }, next) => {
568+
await next();
569+
// Grab a snapshot at the end of the upwards middleware chain
570+
snapshot = context.get(orderContext);
571+
},
572+
getOrderMiddleware(orderContext, "a"),
573+
getOrderMiddleware(orderContext, "b"),
574+
],
575+
},
574576
loader({ context }) {
575577
context.get(orderContext).push("parent loader");
576578
},
577579
children: [
578580
{
579581
id: "child",
580582
path: "child",
581-
unstable_lazyMiddleware: async () => [
582-
getOrderMiddleware(orderContext, "c"),
583-
getOrderMiddleware(orderContext, "d"),
584-
],
583+
lazy: {
584+
unstable_middleware: async () => [
585+
getOrderMiddleware(orderContext, "c"),
586+
getOrderMiddleware(orderContext, "d"),
587+
],
588+
},
585589
loader({ context }) {
586590
context.get(orderContext).push("child loader");
587591
},
@@ -634,10 +638,12 @@ describe("context/middleware", () => {
634638
{
635639
id: "child",
636640
path: "child",
637-
unstable_lazyMiddleware: async () => [
638-
getOrderMiddleware(orderContext, "c"),
639-
getOrderMiddleware(orderContext, "d"),
640-
],
641+
lazy: {
642+
unstable_middleware: async () => [
643+
getOrderMiddleware(orderContext, "c"),
644+
getOrderMiddleware(orderContext, "d"),
645+
],
646+
},
641647
loader({ context }) {
642648
context.get(orderContext).push("child loader");
643649
},
@@ -663,7 +669,7 @@ describe("context/middleware", () => {
663669
]);
664670
});
665671

666-
it("ignores middleware returned from route.lazy", async () => {
672+
it("ignores middleware returned from route.lazy function", async () => {
667673
let snapshot;
668674

669675
let consoleWarn = jest
@@ -679,15 +685,17 @@ describe("context/middleware", () => {
679685
{
680686
id: "parent",
681687
path: "/parent",
682-
unstable_lazyMiddleware: async () => [
683-
async ({ context }, next) => {
684-
await next();
685-
// Grab a snapshot at the end of the upwards middleware chain
686-
snapshot = context.get(orderContext);
687-
},
688-
getOrderMiddleware(orderContext, "a"),
689-
getOrderMiddleware(orderContext, "b"),
690-
],
688+
lazy: {
689+
unstable_middleware: async () => [
690+
async ({ context }, next) => {
691+
await next();
692+
// Grab a snapshot at the end of the upwards middleware chain
693+
snapshot = context.get(orderContext);
694+
},
695+
getOrderMiddleware(orderContext, "a"),
696+
getOrderMiddleware(orderContext, "b"),
697+
],
698+
},
691699
loader({ context }) {
692700
context.get(orderContext).push("parent loader");
693701
},
@@ -743,15 +751,17 @@ describe("context/middleware", () => {
743751
{
744752
id: "parent",
745753
path: "/parent",
746-
unstable_lazyMiddleware: async () => [
747-
async ({ context }, next) => {
748-
await next();
749-
// Grab a snapshot at the end of the upwards middleware chain
750-
snapshot = context.get(orderContext);
751-
},
752-
getOrderMiddleware(orderContext, "a"),
753-
getOrderMiddleware(orderContext, "b"),
754-
],
754+
lazy: {
755+
unstable_middleware: async () => [
756+
async ({ context }, next) => {
757+
await next();
758+
// Grab a snapshot at the end of the upwards middleware chain
759+
snapshot = context.get(orderContext);
760+
},
761+
getOrderMiddleware(orderContext, "a"),
762+
getOrderMiddleware(orderContext, "b"),
763+
],
764+
},
755765
loader({ context }) {
756766
context.get(orderContext).push("parent loader");
757767
},
@@ -1581,37 +1591,41 @@ describe("context/middleware", () => {
15811591
{
15821592
id: "parent",
15831593
path: "/parent",
1584-
unstable_lazyMiddleware: async () => [
1585-
async (_, next) => {
1586-
let res = (await next()) as Response;
1587-
res.headers.set("parent1", "yes");
1588-
return res;
1589-
},
1590-
async (_, next) => {
1591-
let res = (await next()) as Response;
1592-
res.headers.set("parent2", "yes");
1593-
return res;
1594-
},
1595-
],
1594+
lazy: {
1595+
unstable_middleware: async () => [
1596+
async (_, next) => {
1597+
let res = (await next()) as Response;
1598+
res.headers.set("parent1", "yes");
1599+
return res;
1600+
},
1601+
async (_, next) => {
1602+
let res = (await next()) as Response;
1603+
res.headers.set("parent2", "yes");
1604+
return res;
1605+
},
1606+
],
1607+
},
15961608
loader() {
15971609
return "PARENT";
15981610
},
15991611
children: [
16001612
{
16011613
id: "child",
16021614
path: "child",
1603-
unstable_lazyMiddleware: async () => [
1604-
async (_, next) => {
1605-
let res = (await next()) as Response;
1606-
res.headers.set("child1", "yes");
1607-
return res;
1608-
},
1609-
async (_, next) => {
1610-
let res = (await next()) as Response;
1611-
res.headers.set("child2", "yes");
1612-
return res;
1613-
},
1614-
],
1615+
lazy: {
1616+
unstable_middleware: async () => [
1617+
async (_, next) => {
1618+
let res = (await next()) as Response;
1619+
res.headers.set("child1", "yes");
1620+
return res;
1621+
},
1622+
async (_, next) => {
1623+
let res = (await next()) as Response;
1624+
res.headers.set("child2", "yes");
1625+
return res;
1626+
},
1627+
],
1628+
},
16151629
loader() {
16161630
return "CHILD";
16171631
},
@@ -2507,37 +2521,41 @@ describe("context/middleware", () => {
25072521
{
25082522
id: "parent",
25092523
path: "/parent",
2510-
unstable_lazyMiddleware: async () => [
2511-
async ({ context }, next) => {
2512-
let res = (await next()) as Response;
2513-
res.headers.set("parent1", "yes");
2514-
return res;
2515-
},
2516-
async ({ context }, next) => {
2517-
let res = (await next()) as Response;
2518-
res.headers.set("parent2", "yes");
2519-
return res;
2520-
},
2521-
],
2524+
lazy: {
2525+
unstable_middleware: async () => [
2526+
async ({ context }, next) => {
2527+
let res = (await next()) as Response;
2528+
res.headers.set("parent1", "yes");
2529+
return res;
2530+
},
2531+
async ({ context }, next) => {
2532+
let res = (await next()) as Response;
2533+
res.headers.set("parent2", "yes");
2534+
return res;
2535+
},
2536+
],
2537+
},
25222538
loader() {
25232539
return new Response("PARENT");
25242540
},
25252541
children: [
25262542
{
25272543
id: "child",
25282544
path: "child",
2529-
unstable_lazyMiddleware: async () => [
2530-
async ({ context }, next) => {
2531-
let res = (await next()) as Response;
2532-
res.headers.set("child1", "yes");
2533-
return res;
2534-
},
2535-
async ({ context }, next) => {
2536-
let res = (await next()) as Response;
2537-
res.headers.set("child2", "yes");
2538-
return res;
2539-
},
2540-
],
2545+
lazy: {
2546+
unstable_middleware: async () => [
2547+
async ({ context }, next) => {
2548+
let res = (await next()) as Response;
2549+
res.headers.set("child1", "yes");
2550+
return res;
2551+
},
2552+
async ({ context }, next) => {
2553+
let res = (await next()) as Response;
2554+
res.headers.set("child2", "yes");
2555+
return res;
2556+
},
2557+
],
2558+
},
25412559
loader({ context }) {
25422560
return new Response("CHILD");
25432561
},

0 commit comments

Comments
 (0)