Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

builderio-type-extensions

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

builderio-type-extensions

A set of TypeScript helpers for Builder.io's SDK.

  • 1.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Builder.io Type Extensions

This package is meant to be a set of helpful TypeScript definitions for writing powerful well structured TypeScript codebases in Builder.io's CMS. The current library contains support for input field extraction.

Component Input Type Helper

This utility infers types based on Builder input field array Builder.io's Component Input Types. The BuilderFields and GenerateItems are used together to infer the input array into a properly structured list of properties for your component.

Here's some sample input:

const inputs = [
  {
    name: "name",
    type: "string",
    required: true,
  },
  {
    name: "favouriteColours",
    type: "list",
    subFields: [
      {
        name: "name",
        type: "string",
        defaultValue: "",
      },
      {
        name: "hex",
        type: "color",
      },
    ],
  },
] as const;

type InputProps = BuilderFields<GenerateItems<typeof inputs>>;

Note The input must be cast as const or the inference will not work as expected.

The above fields would result into the following type:

type InputProps = {
  name: string;
  favouriteColours?: {
    name?: string;
    hex?: string;
  }[];
};

In your framework of choice you should be able to cast input properties with the resulting type:

function MyComponent(props: InputProps) => {
  console.log(props.name);
  console.log(props.favouriteColors);
};

Change Log

  • 1.0.0 - Initial release
  • 1.0.1 - Fixed packaging module issues
  • 1.1.1 - Improved formatting, adding required fields, added string enums

Acknowledgments

Thank you to a number of individuals such as trusktr (Joe Pea) and individuals in the SolidJS community. I'm not a TypeScript wizard in the slightest but I learned a lot from pulling these types together.

Keywords

FAQs

Package last updated on 24 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc