$app/server
import {
command,
form,
getRequestEvent,
prerender,
query,
read,
requested
} from '$app/server';command
Disponible depuis la version 2.27
Crée une commande distante. Lorsqu’exécutée sur le navigateur, la fonction sera invoquée sur le
serveur via un appel fetch.
Voir la section sur les fonctions distantes pour lire la documentation complète.
function command<Output>(
fn: () => MaybePromise<Output>
): RemoteCommand<void, Output>;function command<Input, Output>(
validate: 'unchecked',
fn: (arg: Input) => MaybePromise<Output>
): RemoteCommand<Input, Output>;function command<Schema extends StandardSchemaV1, Output>(
validate: Schema,
fn: (
arg: StandardSchemaV1.InferOutput<Schema>
) => MaybePromise<Output>
): RemoteCommand<
StandardSchemaV1.InferInput<Schema>,
Output
>;form
Disponible depuis la version 2.27
Crée un objet de formulaire pouvant être “étalé” sur un élément <form>
Voir la section sur les fonctions distantes pour lire la documentation complète.
function form<Output>(
fn: () => MaybePromise<Output>
): RemoteForm<void, Output>;function form<Input extends RemoteFormInput, Output>(
validate: 'unchecked',
fn: (
data: Input,
issue: InvalidField<Input>
) => MaybePromise<Output>
): RemoteForm<Input, Output>;function form<
Schema extends StandardSchemaV1<
RemoteFormInput,
Record<string, any>
>,
Output
>(
validate: true extends HasNonOptionalBoolean<
StandardSchemaV1.InferInput<Schema>
>
? 'Error: All booleans in form schemas must be optional (e.g. `v.optional(v.boolean(), false)`) because checkbox inputs do not send a false value when unchecked.'
: Schema,
fn: (
data: StandardSchemaV1.InferOutput<Schema>,
issue: InvalidField<StandardSchemaV1.InferInput<Schema>>
) => MaybePromise<Output>
): RemoteForm<StandardSchemaV1.InferInput<Schema>, Output>;getRequestEvent
Disponible depuis la version 2.20.0
Renvoie l’objet RequestEvent courant. Peut être utilisé dans les hooks de serveur, les fonctions
load de serveur, les actions, et les endpoints (et dans les fonctions exécutées par ceux-ci).
Dans les environnements ne possédant pas de
AsyncLocalStorage, cette
méthode doit être appelée de manière synchrone (c’est-à-dire pas après un await).
function getRequestEvent(): RequestEvent;prerender
Disponible depuis la version 2.27
Crée une fonction de pré-rendu distante. Lorsqu’exécutée sur le navigateur, la fonction sera
invoquée sur le serveur via un appel fetch.
Voir la section sur les fonctions distantes pour lire la documentation complète.
function prerender<Output>(
fn: () => MaybePromise<Output>,
options?:
| {
inputs?: RemotePrerenderInputsGenerator<void>;
dynamic?: boolean;
}
| undefined
): RemotePrerenderFunction<void, Output>;function prerender<Input, Output>(
validate: 'unchecked',
fn: (arg: Input) => MaybePromise<Output>,
options?:
| {
inputs?: RemotePrerenderInputsGenerator<Input>;
dynamic?: boolean;
}
| undefined
): RemotePrerenderFunction<Input, Output>;function prerender<Schema extends StandardSchemaV1, Output>(
schema: Schema,
fn: (
arg: StandardSchemaV1.InferOutput<Schema>
) => MaybePromise<Output>,
options?:
| {
inputs?: RemotePrerenderInputsGenerator<
StandardSchemaV1.InferInput<Schema>
>;
dynamic?: boolean;
}
| undefined
): RemotePrerenderFunction<
StandardSchemaV1.InferInput<Schema>,
Output
>;query
Disponible depuis la version 2.27
Crée une query distante. Lorsqu’exécutée sur le navigateur, la fonction sera invoquée sur le serveur
via un appel fetch.
Voir la section sur les fonctions distantes pour lire la documentation complète.
function query<Output>(
fn: () => MaybePromise<Output>
): RemoteQueryFunction<void, Output>;function query<Input, Output>(
validate: 'unchecked',
fn: (arg: Input) => MaybePromise<Output>
): RemoteQueryFunction<Input, Output>;function query<Schema extends StandardSchemaV1, Output>(
schema: Schema,
fn: (
arg: StandardSchemaV1.InferOutput<Schema>
) => MaybePromise<Output>
): RemoteQueryFunction<
StandardSchemaV1.InferInput<Schema>,
Output,
StandardSchemaV1.InferOutput<Schema>
>;read
Disponible depuis la version 2.4.0
Lit le contenu d’un asset importé depuis le système de fichiers.
import { read } from '$app/server';
import somefile from './somefile.txt';
const asset = read(somefile);
const text = await asset.text();function read(asset: string): Response;requested
Au sein du callback d’une fonction distante command ou form, renvoie un itérable d’entrées { arg, query } pour les instances de la query dont le client a demandée la mise à jour, jusqu’à la
limite fournie. Chaque query est une RemoteQuery liée à la clé de cache originale côté client,
afin que les appels refresh() / set() se propagent correctement même lorsque le schéma de la
query transforme les entrées. arg est l’argument validé, c-à-d la valeur après que le schéma ait
tourné (donc InferOutput<Schema> pour les queries déclarées avec un Standard Schema).
Les arguments échouant la validation ou dépassent la limite sont enregistrés comme des échecs dans
la réponse au client.
Voir le chapitre Mises à jour demandées par le
client pour son
usage au sein d’une fonction distante command ou form.
import { requested } from '$app/server';
for (const arg of requested(getPost, 5)) {
// `arg` est l'argument validé ; `query` est liée à la clé de cache du client.
// Vous pouvez ignorer cette promesse — SvelteKit l'attendra et relaiera toute erreur au client.
void getPost(arg).refresh();
}Vous pouvez également appeler refreshAll sur le résultat, en tant que forme raccourcie de
l’exemple précédent :
import { requested } from '$app/server';
await requested(getPost, 5).refreshAll();Fonctionne également avec query.batch — les mises-à-jour pour les entrées individuelles sont
rassemblées dans un seul appel groupé.
Vaut aussi pour les queries de temps réel (live queries), mais avec reconnect et reconnectAll.
function requested<Input, Output, Validated = Input>(
query: RemoteQueryFunction<Input, Output, Validated>,
limit: number
): QueryRequestedResult<Validated, Output>;function requested<Input, Output, Validated = Input>(
query: RemoteLiveQueryFunction<Input, Output, Validated>,
limit: number
): LiveQueryRequestedResult<Validated, Output>;query
namespace query {
/**
* Crée une fonction de requête groupée qui collecte plusieurs appels et les exécute dans une
* seule requête.
*
* Voir [Fonctions distantes](https://svelte.dev/docs/kit/remote-functions#query.batch) pour plus
* d'infos.
*
* @since 2.35
*/
function batch<Input, Output>(
validate: 'unchecked',
fn: (
args: Input[]
) => MaybePromise<(arg: Input, idx: number) => Output>
): RemoteQueryFunction<Input, Output>;
/**
* Crée une fonction de requête groupée qui collecte plusieurs appels et les exécute dans une
* seule requête.
*
* Voir [Fonctions distantes](https://svelte.dev/docs/kit/remote-functions#query.batch) pour plus
* d'infos.
*
* @since 2.35
*/
function batch<Schema extends StandardSchemaV1, Output>(
schema: Schema,
fn: (
args: StandardSchemaV1.InferOutput<Schema>[]
) => MaybePromise<
(
arg: StandardSchemaV1.InferOutput<Schema>,
idx: number
) => Output
>
): RemoteQueryFunction<
StandardSchemaV1.InferInput<Schema>,
Output,
StandardSchemaV1.InferOutput<Schema>
>;
/**
* Crée une live query distante. Lorsqu'appelée depuis le navigateur, la fonction sera exécutée
* sur le serveur via un appel `fetch` de streaming.
*
* Voir [Fonctions distantes](https://svelte.dev/docs/kit/remote-functions#query.live) pour plus
* d'infos.
*
* */
function live<Output>(
fn: (
arg: void
) => RemoteLiveQueryUserFunctionReturnType<Output>
): RemoteLiveQueryFunction<void, Output>;
function live<Input, Output>(
validate: 'unchecked',
fn: (
arg: Input
) => RemoteLiveQueryUserFunctionReturnType<Output>
): RemoteLiveQueryFunction<Input, Output>;
function live<Schema extends StandardSchemaV1, Output>(
schema: Schema,
fn: (
arg: StandardSchemaV1.InferOutput<Schema>
) => RemoteLiveQueryUserFunctionReturnType<Output>
): RemoteLiveQueryFunction<
StandardSchemaV1.InferInput<Schema>,
Output,
StandardSchemaV1.InferOutput<Schema>
>;
}Modifier cette page sur Github llms.txt