unknown-schema
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

unknown-schema

Schema protector to transform any unknown value into expected schema

How it works: https://uodod.codesandbox.io/

npm i unknown-schema

yarn add unknown-schema
  import { maybeObject, maybeString, maybeNumber, maybeArray } from 'unknown-schema'
 
  type UsersProducts = {
    users: {
      firstName: string;
      lastName: string;
      products: number[];
    }[];
    products: {
      name: string;
      price: number;
      id: number;
    }[];
  };
 
  const validator = maybeObject({
    users: maybeArray(
      maybeObject({
        firstName: maybeString(''),
        lastName: maybeString(''),
        products: maybeArray(maybeNumber(-1))
      })
    ),
    products: maybeArray(
      maybeObject({
        name: maybeString(''),
        price: maybeNumber(0),
        id: maybeNumber(-1)
      })
    )
  });
 
  const unknownJSON: unknown = fetch('/some-api-endpoint')
    .then(response => response.json())
 
  const safeData: UsersProducts = validator(unknownJSON).value

Readme

Keywords

none

Package Sidebar

Install

npm i unknown-schema

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

16.4 kB

Total Files

17

Last publish

Collaborators

  • arekrado