Skip to content

Commit 061fbf8

Browse files
committed
Allow undefined as exported value
1 parent 0deec2f commit 061fbf8

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

crates/next-core/src/segment_config.rs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,9 @@ async fn parse_config_value(
546546
.await;
547547
};
548548

549+
if matches!(val, JsValue::Constant(ConstantValue::Undefined)) {
550+
return Ok(());
551+
}
549552
match key {
550553
"runtime" => {
551554
let Some(val) = val.as_str() else {
@@ -636,6 +639,9 @@ async fn parse_config_value(
636639
}
637640
"dynamic" => {
638641
let value = get_value();
642+
if matches!(value, JsValue::Constant(ConstantValue::Undefined)) {
643+
return Ok(());
644+
}
639645
let Some(val) = value.as_str() else {
640646
return invalid_config(
641647
source,
@@ -665,7 +671,9 @@ async fn parse_config_value(
665671
}
666672
"dynamicParams" => {
667673
let value = get_value();
668-
674+
if matches!(value, JsValue::Constant(ConstantValue::Undefined)) {
675+
return Ok(());
676+
}
669677
let Some(val) = value.as_bool() else {
670678
return invalid_config(
671679
source,
@@ -703,7 +711,9 @@ async fn parse_config_value(
703711
}
704712
"fetchCache" => {
705713
let value = get_value();
706-
714+
if matches!(value, JsValue::Constant(ConstantValue::Undefined)) {
715+
return Ok(());
716+
}
707717
let Some(val) = value.as_str() else {
708718
return invalid_config(
709719
source,
@@ -733,7 +743,9 @@ async fn parse_config_value(
733743
}
734744
"runtime" => {
735745
let value = get_value();
736-
746+
if matches!(value, JsValue::Constant(ConstantValue::Undefined)) {
747+
return Ok(());
748+
}
737749
let Some(val) = value.as_str() else {
738750
return invalid_config(
739751
source,
@@ -763,7 +775,9 @@ async fn parse_config_value(
763775
}
764776
"preferredRegion" => {
765777
let value = get_value();
766-
778+
if matches!(value, JsValue::Constant(ConstantValue::Undefined)) {
779+
return Ok(());
780+
}
767781
let preferred_region = match value {
768782
// Single value is turned into a single-element Vec.
769783
JsValue::Constant(ConstantValue::Str(str)) => vec![str.to_string().into()],
@@ -814,6 +828,9 @@ async fn parse_config_value(
814828
}
815829
"experimental_ppr" => {
816830
let value = get_value();
831+
if matches!(value, JsValue::Constant(ConstantValue::Undefined)) {
832+
return Ok(());
833+
}
817834
let Some(val) = value.as_bool() else {
818835
return invalid_config(
819836
source,

0 commit comments

Comments
 (0)