Skip to content

Commit bf6460e

Browse files
shudingMaxLeiter
authored andcommitted
Improve the Server Actions SWC transform (#61001)
This PR improves the Server Actions SWC transform to make it able to handle nested Action declarations (check `fixture/server-actions/server/28/input.js` for more details). It is also a simplification of that transform's internal states and methods, with the removal of an extra AST pass (`stmts.visit_mut_with(&mut ClosureActionReplacer { replaced_action_proxies: &self.replaced_action_proxies, })`). The generated code is also smaller in some cases. So overall I'd expect the compilation and runtime performance to improve as well. ## Details With this change, we're now using `self.declared_idents` and `self.names` to track closure arguments. `declared_idents` keeps the identifiers **declared** in the current closure and above. `names` keeps identifiers **appeared** in the current closure and above. In an example of the following cursor: ```ts let x async function foo() { "use server" let y async function bar() { "use server" let z console.log(x, y, z) } // <- cursor } ``` `declared_idents` would be `y` (`x` isn't in a closure), and `names` would be `x, y, z`. By manipulating these two states we're able to track closure closed-up variables recursively. Closes NEXT-2189
1 parent 9bbd082 commit bf6460e

File tree

23 files changed

+284
-326
lines changed

23 files changed

+284
-326
lines changed

packages/next-swc/crates/next-custom-transforms/src/transforms/server_actions.rs

+140-218
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/* __next_internal_action_entry_do_not_use__ {} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
3-
export default (()=>{});
3+
export default createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0);
4+
export async function $$ACTION_0() {}
45
import { ensureServerEntryExports } from "private-next-rsc-action-validate";
56
ensureServerEntryExports([]);
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* __next_internal_action_entry_do_not_use__ {"188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
1+
/* __next_internal_action_entry_do_not_use__ {"6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
3-
const foo = createActionProxy("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_1);
4-
export async function $$ACTION_1() {}
3+
const foo = createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0);
4+
export async function $$ACTION_0() {}

packages/next-swc/crates/next-custom-transforms/tests/errors/server-actions/server-graph/8/output.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
/* __next_internal_action_entry_do_not_use__ {"188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
1+
/* __next_internal_action_entry_do_not_use__ {"6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
3-
const foo = createActionProxy("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_1);
4-
export async function $$ACTION_1() {
3+
const foo = createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0);
4+
export async function $$ACTION_0() {
55
'use strict';
66
}
77
const bar = async ()=>{
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
1-
/* __next_internal_action_entry_do_not_use__ {"6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0","9878bfa39811ca7650992850a8751f9591b6a557":"$$ACTION_2"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
1+
/* __next_internal_action_entry_do_not_use__ {"188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1","6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
33
import deleteFromDb from 'db';
44
export function Item({ id1, id2 }) {
55
var deleteItem = createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0).bind(null, encryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", [
66
id1,
77
id2
88
]));
9-
return <Button action={createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0).bind(null, encryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", [
10-
id1,
11-
id2
12-
]))}>Delete</Button>;
9+
return <Button action={deleteItem}>Delete</Button>;
1310
}
1411
export async function $$ACTION_0($$ACTION_CLOSURE_BOUND) {
1512
var [$$ACTION_ARG_0, $$ACTION_ARG_1] = await decryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_CLOSURE_BOUND);
@@ -21,14 +18,14 @@ export default function Home() {
2118
name: 'John',
2219
test: 'test'
2320
};
24-
const action = createActionProxy("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_2).bind(null, encryptActionBoundArgs("9878bfa39811ca7650992850a8751f9591b6a557", [
21+
const action = createActionProxy("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_1).bind(null, encryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", [
2522
info.name,
2623
info.test
2724
]));
2825
return null;
2926
}
30-
export async function $$ACTION_2($$ACTION_CLOSURE_BOUND) {
31-
var [$$ACTION_ARG_0, $$ACTION_ARG_1] = await decryptActionBoundArgs("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_CLOSURE_BOUND);
27+
export async function $$ACTION_1($$ACTION_CLOSURE_BOUND) {
28+
var [$$ACTION_ARG_0, $$ACTION_ARG_1] = await decryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_CLOSURE_BOUND);
3229
console.log($$ACTION_ARG_0);
3330
console.log($$ACTION_ARG_1);
3431
}

packages/next-swc/crates/next-custom-transforms/tests/fixture/server-actions/server/15/output.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
/* __next_internal_action_entry_do_not_use__ {"c18c215a6b7cdc64bf709f3a714ffdef1bf9651d":"default"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
3-
export default $$ACTION_0 = async (a, b)=>{
4-
console.log(a, b);
5-
};
3+
export default $$ACTION_0 = createActionProxy("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_1);
64
var $$ACTION_0;
5+
export async function $$ACTION_1(a, b) {
6+
console.log(a, b);
7+
}
78
import { ensureServerEntryExports } from "private-next-rsc-action-validate";
89
ensureServerEntryExports([
910
$$ACTION_0
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
1-
/* __next_internal_action_entry_do_not_use__ {"188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1","9878bfa39811ca7650992850a8751f9591b6a557":"$$ACTION_2","9c0dd1f7c2b3f41d32e10f5c437de3d67ad32c6c":"$$ACTION_4"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
1+
/* __next_internal_action_entry_do_not_use__ {"188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1","6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0","9878bfa39811ca7650992850a8751f9591b6a557":"$$ACTION_2"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
33
import deleteFromDb from 'db';
44
const v1 = 'v1';
55
export function Item({ id1, id2 }) {
66
const v2 = id2;
7-
const deleteItem = createActionProxy("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_1).bind(null, encryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", [
7+
const deleteItem = createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0).bind(null, encryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", [
88
id1,
99
v2
1010
]));
1111
return <Button action={deleteItem}>Delete</Button>;
1212
}
13-
export async function $$ACTION_1($$ACTION_CLOSURE_BOUND) {
14-
var [$$ACTION_ARG_0, $$ACTION_ARG_1] = await decryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_CLOSURE_BOUND);
13+
export async function $$ACTION_0($$ACTION_CLOSURE_BOUND) {
14+
var [$$ACTION_ARG_0, $$ACTION_ARG_1] = await decryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_CLOSURE_BOUND);
1515
await deleteFromDb($$ACTION_ARG_0);
1616
await deleteFromDb(v1);
1717
await deleteFromDb($$ACTION_ARG_1);
1818
}
1919
const f = (x)=>{
20-
var g = createActionProxy("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_2).bind(null, encryptActionBoundArgs("9878bfa39811ca7650992850a8751f9591b6a557", [
20+
var g = createActionProxy("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_1).bind(null, encryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", [
2121
x
2222
]));
2323
};
24-
export async function $$ACTION_2($$ACTION_CLOSURE_BOUND, y, ...z) {
25-
var [$$ACTION_ARG_0] = await decryptActionBoundArgs("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_CLOSURE_BOUND);
24+
export async function $$ACTION_1($$ACTION_CLOSURE_BOUND, y, ...z) {
25+
var [$$ACTION_ARG_0] = await decryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_CLOSURE_BOUND);
2626
return $$ACTION_ARG_0 + y + z[0];
2727
}
2828
const g = (x)=>{
29-
f = createActionProxy("9c0dd1f7c2b3f41d32e10f5c437de3d67ad32c6c", $$ACTION_4).bind(null, encryptActionBoundArgs("9c0dd1f7c2b3f41d32e10f5c437de3d67ad32c6c", [
29+
f = createActionProxy("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_2).bind(null, encryptActionBoundArgs("9878bfa39811ca7650992850a8751f9591b6a557", [
3030
x
3131
]));
3232
};
33-
export async function $$ACTION_4($$ACTION_CLOSURE_BOUND, y, ...z) {
34-
var [$$ACTION_ARG_0] = await decryptActionBoundArgs("9c0dd1f7c2b3f41d32e10f5c437de3d67ad32c6c", $$ACTION_CLOSURE_BOUND);
33+
export async function $$ACTION_2($$ACTION_CLOSURE_BOUND, y, ...z) {
34+
var [$$ACTION_ARG_0] = await decryptActionBoundArgs("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_CLOSURE_BOUND);
3535
return $$ACTION_ARG_0 + y + z[0];
3636
}

packages/next-swc/crates/next-custom-transforms/tests/fixture/server-actions/server/17/output.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/* __next_internal_action_entry_do_not_use__ {"ab21efdafbe611287bc25c0462b1e0510d13e48b":"foo","ac840dcaf5e8197cb02b7f3a43c119b7a770b272":"bar"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
3-
export const foo = async ()=>{};
3+
export const foo = createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0);
4+
export async function $$ACTION_0() {}
45
const bar = async ()=>{};
56
export { bar };
67
import { ensureServerEntryExports } from "private-next-rsc-action-validate";

packages/next-swc/crates/next-custom-transforms/tests/fixture/server-actions/server/18/output.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
/* __next_internal_action_entry_do_not_use__ {"188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1","56a859f462d35a297c46a1bbd1e6a9058c104ab8":"$$ACTION_3"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
1+
/* __next_internal_action_entry_do_not_use__ {"6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0","9878bfa39811ca7650992850a8751f9591b6a557":"$$ACTION_2"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
33
import deleteFromDb from 'db';
44
const v1 = 'v1';
55
export function Item({ id1, id2 }) {
66
const v2 = id2;
77
return <>
88

9-
<Button action={createActionProxy("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_1).bind(null, encryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", [
9+
<Button action={createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0).bind(null, encryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", [
1010
id1,
1111
v2
1212
]))}>
@@ -15,7 +15,7 @@ export function Item({ id1, id2 }) {
1515

1616
</Button>
1717

18-
<Button action={createActionProxy("56a859f462d35a297c46a1bbd1e6a9058c104ab8", $$ACTION_3).bind(null, encryptActionBoundArgs("56a859f462d35a297c46a1bbd1e6a9058c104ab8", [
18+
<Button action={createActionProxy("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_2).bind(null, encryptActionBoundArgs("9878bfa39811ca7650992850a8751f9591b6a557", [
1919
id1,
2020
v2
2121
]))}>
@@ -26,14 +26,14 @@ export function Item({ id1, id2 }) {
2626

2727
</>;
2828
}
29-
export async function $$ACTION_1($$ACTION_CLOSURE_BOUND) {
30-
var [$$ACTION_ARG_0, $$ACTION_ARG_1] = await decryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_CLOSURE_BOUND);
29+
export async function $$ACTION_0($$ACTION_CLOSURE_BOUND) {
30+
var [$$ACTION_ARG_0, $$ACTION_ARG_1] = await decryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_CLOSURE_BOUND);
3131
await deleteFromDb($$ACTION_ARG_0);
3232
await deleteFromDb(v1);
3333
await deleteFromDb($$ACTION_ARG_1);
3434
}
35-
export async function $$ACTION_3($$ACTION_CLOSURE_BOUND) {
36-
var [$$ACTION_ARG_0, $$ACTION_ARG_1] = await decryptActionBoundArgs("56a859f462d35a297c46a1bbd1e6a9058c104ab8", $$ACTION_CLOSURE_BOUND);
35+
export async function $$ACTION_2($$ACTION_CLOSURE_BOUND) {
36+
var [$$ACTION_ARG_0, $$ACTION_ARG_1] = await decryptActionBoundArgs("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_CLOSURE_BOUND);
3737
await deleteFromDb($$ACTION_ARG_0);
3838
await deleteFromDb(v1);
3939
await deleteFromDb($$ACTION_ARG_1);
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
/* __next_internal_action_entry_do_not_use__ {"188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
1+
/* __next_internal_action_entry_do_not_use__ {"6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
33
export function Item({ value }) {
44
return <>
55

6-
<Button action={createActionProxy("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_1).bind(null, encryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", [
6+
<Button action={createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0).bind(null, encryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", [
77
value
88
]))}>
99

@@ -13,7 +13,7 @@ export function Item({ value }) {
1313

1414
</>;
1515
}
16-
export async function $$ACTION_1($$ACTION_CLOSURE_BOUND, value2) {
17-
var [$$ACTION_ARG_0] = await decryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_CLOSURE_BOUND);
16+
export async function $$ACTION_0($$ACTION_CLOSURE_BOUND, value2) {
17+
var [$$ACTION_ARG_0] = await decryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_CLOSURE_BOUND);
1818
return $$ACTION_ARG_0 * value2;
1919
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
/* __next_internal_action_entry_do_not_use__ {"6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0","9878bfa39811ca7650992850a8751f9591b6a557":"$$ACTION_2"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
1+
/* __next_internal_action_entry_do_not_use__ {"188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1","6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
33
var myAction = createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0);
44
export async function $$ACTION_0(a, b, c) {
55
console.log('a');
66
}
77
export default function Page() {
8-
return <Button action={createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0)}>Delete</Button>;
8+
return <Button action={myAction}>Delete</Button>;
99
}
10-
export const action = withValidate(createActionProxy("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_2));
11-
export async function $$ACTION_2() {}
10+
export const action = withValidate(createActionProxy("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_1));
11+
export async function $$ACTION_1() {}

packages/next-swc/crates/next-custom-transforms/tests/fixture/server-actions/server/21/output.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* __next_internal_action_entry_do_not_use__ {"1383664d1dc2d9cfe33b88df3fa0eaffef8b99bc":"$$ACTION_5","188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1","56a859f462d35a297c46a1bbd1e6a9058c104ab8":"$$ACTION_3"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
1+
/* __next_internal_action_entry_do_not_use__ {"188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1","56a859f462d35a297c46a1bbd1e6a9058c104ab8":"$$ACTION_3","9878bfa39811ca7650992850a8751f9591b6a557":"$$ACTION_2"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
33
import { validator, another } from 'auth';
44
const x = 1;
@@ -12,7 +12,7 @@ export async function $$ACTION_1($$ACTION_CLOSURE_BOUND, z) {
1212
var [$$ACTION_ARG_0] = await decryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_CLOSURE_BOUND);
1313
return x + $$ACTION_ARG_0 + z;
1414
}
15-
validator(createActionProxy("56a859f462d35a297c46a1bbd1e6a9058c104ab8", $$ACTION_3));
15+
validator(createActionProxy("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_2));
16+
export async function $$ACTION_2() {}
17+
another(validator(createActionProxy("56a859f462d35a297c46a1bbd1e6a9058c104ab8", $$ACTION_3)));
1618
export async function $$ACTION_3() {}
17-
another(validator(createActionProxy("1383664d1dc2d9cfe33b88df3fa0eaffef8b99bc", $$ACTION_5)));
18-
export async function $$ACTION_5() {}
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
/* __next_internal_action_entry_do_not_use__ {"c18c215a6b7cdc64bf709f3a714ffdef1bf9651d":"default","f14702b5a021dd117f7ec7a3c838f397c2046d3b":"action"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
33
import { validator } from 'auth';
4-
export const action = validator(async ()=>{});
5-
export default $$ACTION_0 = validator(async ()=>{});
6-
var $$ACTION_0;
4+
export const action = validator(createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0));
5+
export async function $$ACTION_0() {}
6+
export default $$ACTION_1 = validator(createActionProxy("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_2));
7+
var $$ACTION_1;
8+
export async function $$ACTION_2() {}
79
import { ensureServerEntryExports } from "private-next-rsc-action-validate";
810
ensureServerEntryExports([
911
action,
10-
$$ACTION_0
12+
$$ACTION_1
1113
]);
1214
createActionProxy("f14702b5a021dd117f7ec7a3c838f397c2046d3b", action);
13-
createActionProxy("c18c215a6b7cdc64bf709f3a714ffdef1bf9651d", $$ACTION_0);
15+
createActionProxy("c18c215a6b7cdc64bf709f3a714ffdef1bf9651d", $$ACTION_1);
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
/* __next_internal_action_entry_do_not_use__ {"6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0","9878bfa39811ca7650992850a8751f9591b6a557":"$$ACTION_2"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
1+
/* __next_internal_action_entry_do_not_use__ {"188d5d945750dc32e2c842b93c75a65763d4a922":"$$ACTION_1","6d53ce510b2e36499b8f56038817b9bad86cabb4":"$$ACTION_0"} */ import { createActionProxy } from "private-next-rsc-action-proxy";
22
import { encryptActionBoundArgs, decryptActionBoundArgs } from "private-next-rsc-action-encryption";
33
export default function Page({ foo, x, y }) {
44
var action = createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0).bind(null, encryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", [
55
x
66
]));
7-
createActionProxy("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_0).bind(null, encryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", [
8-
x
9-
])).bind(null, foo[0], foo[1], foo.x, foo[y]);
10-
const action2 = createActionProxy("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_2).bind(null, encryptActionBoundArgs("9878bfa39811ca7650992850a8751f9591b6a557", [
7+
action.bind(null, foo[0], foo[1], foo.x, foo[y]);
8+
const action2 = createActionProxy("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_1).bind(null, encryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", [
119
x
1210
]));
1311
action2.bind(null, foo[0], foo[1], foo.x, foo[y]);
@@ -16,7 +14,7 @@ export async function $$ACTION_0($$ACTION_CLOSURE_BOUND, a, b, c, d) {
1614
var [$$ACTION_ARG_0] = await decryptActionBoundArgs("6d53ce510b2e36499b8f56038817b9bad86cabb4", $$ACTION_CLOSURE_BOUND);
1715
console.log(a, b, $$ACTION_ARG_0, c, d);
1816
}
19-
export async function $$ACTION_2($$ACTION_CLOSURE_BOUND, a, b, c, d) {
20-
var [$$ACTION_ARG_0] = await decryptActionBoundArgs("9878bfa39811ca7650992850a8751f9591b6a557", $$ACTION_CLOSURE_BOUND);
17+
export async function $$ACTION_1($$ACTION_CLOSURE_BOUND, a, b, c, d) {
18+
var [$$ACTION_ARG_0] = await decryptActionBoundArgs("188d5d945750dc32e2c842b93c75a65763d4a922", $$ACTION_CLOSURE_BOUND);
2119
console.log(a, b, $$ACTION_ARG_0, c, d);
2220
}

0 commit comments

Comments
 (0)