Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const circle = object({ type: constant('circle') });
const shape = dispatch(field('type', string), type => {
switch (type) {
case 'rect':
return rect;
case 'circle':
return circle;
}
return fail('Must be a valid shape');
});
guard(
object({
a0: string,
a1: number,
a2: optional(nullable(either4(string, email, regex(/x/, 'Must be x'), url()))),
a3: fail('foo'),
a4: maybe(mixed),
a5: either3(constant('foo'), constant('bar'), constant('qux')),
a6: exact({ c: array(poja), d: pojo }),
a7: tuple6(hardcoded('foo'), mixed, null_, undefined_, unknown, truthy),
a8: tuple4(integer, number, positiveInteger, positiveNumber),
a9: either(boolean, numericBoolean),
b0: map(
compose(
string,
predicate(s => s.startsWith('x'), 'Must start with x')
),
s => s.toUpperCase()
),
b1: shape,
b2: date,