Workflow.map()
La méthode .map() associe les données de sortie d’une étape précédente à l’entrée d’une étape suivante, ce qui permet de transformer les données entre les étapes.
Exemple d’utilisationLien direct vers Exemple d’utilisation
workflow.map(async ({ inputData }) => `${inputData.value} - map`)
ParamètresLien direct vers Paramètres
mappingFunction:
Valeur renvoyéeLien direct vers Valeur renvoyée
workflow:
Utiliser inputDataLien direct vers using-inputdata
Utilisez inputData pour accéder à l’intégralité de la sortie de l’étape précédente.
.then(step1)
.map(({ inputData }) => {
console.log(inputData);
})
Utiliser getStepResult()Lien direct vers using-getstepresult
Utilisez getStepResult() pour accéder à l’intégralité de la sortie d’une étape spécifique en référençant l’instance de l’étape.
.then(step1)
.map(async ({ getStepResult }) => {
console.log(getStepResult(step1));
})
Utiliser getInitData()Lien direct vers using-getinitdata
Utilisez getInitData<typeof workflow>() pour accéder aux données d’entrée initiales fournies au Workflow.
.then(step1)
.map(async ({ getInitData }) => {
console.log(getInitData<any>());
})
Utiliser mapVariable()Lien direct vers using-mapvariable
La forme objet de .map() fournit une syntaxe déclarative alternative pour associer des champs. Au lieu d’écrire une fonction, vous définissez un objet dont chaque clé est un nouveau nom de champ et dont chaque valeur utilise mapVariable() pour extraire des données des étapes précédentes ou de l’entrée du Workflow.
Importez mapVariable() depuis le module workflows :
import { mapVariable } from '@mastra/core/workflows'
Extraire des champs des sorties d’étapesLien direct vers Extraire des champs des sorties d’étapes
Utilisez mapVariable() avec step pour extraire un champ spécifique de la sortie d’une étape et l’associer à un nouveau nom de champ. Le paramètre path indique le champ à extraire.
Dans cet exemple, le champ value de la sortie de step1 est extrait et associé à un nouveau champ appelé details :
.then(step1)
.map({
details: mapVariable({
step: step1,
path: "value"
})
})
Extraire des champs de l’entrée du WorkflowLien direct vers Extraire des champs de l’entrée du Workflow
Utilisez mapVariable() avec initData pour extraire un champ spécifique des données d’entrée initiales du Workflow. Cela est utile lorsque vous devez transmettre l’entrée d’origine du Workflow à une étape ultérieure.
Dans cet exemple, le champ value de l’entrée du Workflow est extrait et associé à un champ appelé details :
export const testWorkflow = createWorkflow({...});
testWorkflow
.then(step1)
.map({
details: mapVariable({
initData: testWorkflow,
path: "value"
})
})