+ : T[K];
+ }
+ : T | undefined;
+
+// If the schema specifies `id` as a string or number, ensure that `for(...)`
+// only accepts that type. Otherwise, accept `string | number`
+export type ExtractId = Input extends { id: infer Id }
+ ? Id extends string | number
+ ? Id
+ : string | number
+ : string | number;
diff --git a/packages/kit/test/apps/basics/src/routes/remote/form/+page.svelte b/packages/kit/test/apps/basics/src/routes/remote/form/+page.svelte
index 33f931628aa1..326239ff9fec 100644
--- a/packages/kit/test/apps/basics/src/routes/remote/form/+page.svelte
+++ b/packages/kit/test/apps/basics/src/routes/remote/form/+page.svelte
@@ -8,8 +8,14 @@
const message = get_message();
- const scoped = set_message.for('scoped');
- const enhanced = set_message.for('enhanced');
+ const scoped = set_message({
+ key: 'scoped',
+ initialData: {
+ message: 'hello'
+ },
+ resetAfterSuccess: false
+ });
+ const enhanced = set_message('enhanced');
message.current: {message.current}
@@ -21,20 +27,20 @@
-
-set_message.input.message: {set_message.fields.message.value()}
-set_message.pending: {set_message.pending}
-set_message.result: {set_message.result}
-set_reverse_message.result: {set_reverse_message.result}
+set_message.input.message: {set_message().fields.message.value()}
+set_message.pending: {set_message().pending}
+set_message.result: {set_message().result}
+set_reverse_message.result: {set_reverse_message().result}
@@ -73,6 +79,6 @@
-
diff --git a/packages/kit/test/apps/basics/src/routes/remote/form/imperative/+page.svelte b/packages/kit/test/apps/basics/src/routes/remote/form/imperative/+page.svelte
index c21e4d146af3..a5d051230428 100644
--- a/packages/kit/test/apps/basics/src/routes/remote/form/imperative/+page.svelte
+++ b/packages/kit/test/apps/basics/src/routes/remote/form/imperative/+page.svelte
@@ -8,25 +8,28 @@
'message is invalid'
)
});
+ const message_form = set_message({
+ preflight: schema
+ });
-