UNPKG

convex

Version:

Client for the Convex Cloud

90 lines (71 loc) 2.56 kB
export function readmeCodegen() { return `# Welcome to your Convex functions directory! Write your Convex functions here. See https://docs.convex.dev/functions for more. A query function that takes two arguments looks like: \`\`\`ts // functions.js import { query } from "./_generated/server"; import { v } from "convex/values"; export const myQueryFunction = query({ // Validators for arguments. args: { first: v.number(), second: v.string(), }, // Function implementation. handler: async (ctx, args) => { // Read the database as many times as you need here. // See https://docs.convex.dev/database/reading-data. const documents = await ctx.db.query("tablename").collect(); // Arguments passed from the client are properties of the args object. console.log(args.first, args.second) // Write arbitrary JavaScript here: filter, aggregate, build derived data, // remove non-public properties, or create new objects. return documents; }, }); \`\`\` Using this query function in a React component looks like: \`\`\`ts const data = useQuery(api.functions.myQueryFunction, { first: 10, second: "hello" }); \`\`\` A mutation function looks like: \`\`\`ts // functions.js import { mutation } from "./_generated/server"; import { v } from "convex/values"; export const myMutationFunction = mutation({ // Validators for arguments. args: { first: v.string(), second: v.string(), }, // Function implementation. handler: async (ctx, args) => { // Insert or modify documents in the database here. // Mutations can also read from the database like queries. // See https://docs.convex.dev/database/writing-data. const message = { body: args.first, author: args.second }; const id = await ctx.db.insert("messages", message); // Optionally, return a value from your mutation. return await ctx.db.get(id); }, }); \`\`\` Using this mutation function in a React component looks like: \`\`\`ts const mutation = useMutation(api.functions.myMutationFunction); function handleButtonPress() { // fire and forget, the most common way to use mutations mutation({ first: "Hello!", second: "me" }); // OR // use the result once the mutation has completed mutation({ first: "Hello!", second: "me" }).then(result => console.log(result)); } \`\`\` Use the Convex CLI to push your functions to a deployment. See everything the Convex CLI can do by running \`npx convex -h\` in your project root directory. To learn more, launch the docs with \`npx convex docs\`. `; }