0.0.11 • Published 10 months ago

@fujocoded/zod-transform-socials v0.0.11

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

@fujocoded/zod-transform-socials

Applies a zod transformation to a list of social contacts. Automatically surfaces website and username, as well as an icon name for usage with AstroIcon.

Sample usage

In content collection (or other Zod bit):

import { SocialLinks } from "@fujocoded/zod-transform-socials";
// ...

export const teamCollection = defineCollection({
  type: "data",
  schema: (tools) =>
    z.object({
      // ...
      contacts: SocialLinks,
    });
});

Yaml file:

name: essential-randomness
contacts:
  - https://essentialrandomness.com
  - https://essential-randomness.tumblr.com
  - https://twitter.com/essentialrandom
  - url: https://indiepocalypse.social/@essentialrandom
    platform: mastodon
  - https://github.com/essential-randomness
  - https://patreon.com/essentialrandomness
  - https://ko-fi.com/essentialrandomness

Usage (look at output for understading):

const team = await getCollection("team");
team.map((member) => console.log(member.data.contacts));

Usage as props:

import type { SocialLinksData } from "@fujocoded/zod-transform-socials";

interface Props {
  name: string;
  avatar: string;
  contacts: SocialLinksData;
}
0.0.11

10 months ago

0.0.10

10 months ago

0.0.9

11 months ago

0.0.8

11 months ago

0.0.7

11 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago