Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 13, 2024

Bumps astro from 4.15.4 to 4.15.5.

Release notes

Sourced from astro's releases.

[email protected]

Patch Changes

  • #11939 7b09c62 Thanks @​bholmesdev! - Adds support for Zod discriminated unions on Action form inputs. This allows forms with different inputs to be submitted to the same action, using a given input to decide which object should be used for validation.

    This example accepts either a create or update form submission, and uses the type field to determine which object to validate against.

    import { defineAction } from 'astro:actions';
    import { z } from 'astro:schema';
    export const server = {
    changeUser: defineAction({
    accept: 'form',
    input: z.discriminatedUnion('type', [
    z.object({
    type: z.literal('create'),
    name: z.string(),
    email: z.string().email(),
    }),
    z.object({
    type: z.literal('update'),
    id: z.number(),
    name: z.string(),
    email: z.string().email(),
    }),
    ]),
    async handler(input) {
    if (input.type === 'create') {
    // input is { type: 'create', name: string, email: string }
    } else {
    // input is { type: 'update', id: number, name: string, email: string }
    }
    },
    }),
    };

    The corresponding create and update forms may look like this:

    ---
    import { actions } from 'astro:actions';
    ---
    <!--Create-->
    <form action={actions.changeUser} method="POST">
    <input type="hidden" name="type" value="create" />
    <input type="text" name="name" required />
    <input type="email" name="email" required />

... (truncated)

Changelog

Sourced from astro's changelog.

4.15.5

Patch Changes

  • #11939 7b09c62 Thanks @​bholmesdev! - Adds support for Zod discriminated unions on Action form inputs. This allows forms with different inputs to be submitted to the same action, using a given input to decide which object should be used for validation.

    This example accepts either a create or update form submission, and uses the type field to determine which object to validate against.

    import { defineAction } from 'astro:actions';
    import { z } from 'astro:schema';
    export const server = {
    changeUser: defineAction({
    accept: 'form',
    input: z.discriminatedUnion('type', [
    z.object({
    type: z.literal('create'),
    name: z.string(),
    email: z.string().email(),
    }),
    z.object({
    type: z.literal('update'),
    id: z.number(),
    name: z.string(),
    email: z.string().email(),
    }),
    ]),
    async handler(input) {
    if (input.type === 'create') {
    // input is { type: 'create', name: string, email: string }
    } else {
    // input is { type: 'update', id: number, name: string, email: string }
    }
    },
    }),
    };

    The corresponding create and update forms may look like this:

    ---
    import { actions } from 'astro:actions';
    ---
    <!--Create-->
    <form action={actions.changeUser} method="POST">
    <input type="hidden" name="type" value="create" />
    <input type="text" name="name" required />

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.15.4 to 4.15.5.
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/[email protected]/packages/astro)

---
updated-dependencies:
- dependency-name: astro
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Sep 13, 2024
@github-actions github-actions bot merged commit 56c0e8b into Current Sep 13, 2024
@github-actions github-actions bot deleted the dependabot/npm_and_yarn/astro-4.15.5 branch September 13, 2024 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Development

Successfully merging this pull request may close these issues.

2 participants