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

0.0.8 • Public • Published

Fluxus

Is this library for you?

Do you care about performance and bundle size and don't mind a bit steeper learning curve?

If you need more information then check out our Comparison section.

Example

import type { Output } from "fluxus";
import { and, email, gt, tap, length, object, string_type, parse } from "fluxus"; // 0.47 kB

// Create login schema with email and password
const login_schema = object({
  email: and(string_type, email),
  password: and(string_type, tap(and(length, gt(8)))),
});

// Infer output TypeScript type of login schema
// { email: string; password: string }
type LoginData = Output<typeof login_schema>;

// Throws error saying email does not match email regex
parse(login_schema, { email: '', password: '' });

// Returns data as { email: string; password: string }
parse(login_schema, { email: 'yamiteru@icloud.com', password: 'helloworld' });

Package Sidebar

Install

npm i fluxus

Weekly Downloads

1

Version

0.0.8

License

none

Unpacked Size

117 kB

Total Files

6

Last publish

Collaborators

  • yamiteru