src/index.js
// @flow
export { ValidationError } from './sync/ValidationError';
export { Type } from './sync/Type';
export { VType } from './sync/VType';
export { AsyncType } from './async/AsyncType';
export { AsyncVType } from './async/AsyncVType';
export {
empty, isNull, isUndefined, noProperty, isMixed, isAny,
number, boolean, objectType, functionType,
instanceOf, classOf, literal, truthy, falsy
} from './sync/base';
export { string } from './sync/string';
export { arrayType } from './sync/arrayType';
export { arrayOf } from './sync/arrayOf';
export { VarrayOf } from './sync/VarrayOf';
export { intersection } from './sync/intersection';
export { Vintersection } from './sync/Vintersection';
export { union } from './sync/union.js';
export { Vunion } from './sync/Vunion';
export { optional } from './sync/optional';
export { Voptional } from './sync/Voptional';
export { mapping } from './sync/mapping';
export { Vmapping } from './sync/Vmapping';
export { object } from './sync/object';
export { Vobject } from './sync/Vobject';
export { objectExact } from './sync/objectExact';
export { VobjectExact } from './sync/VobjectExact';
export { tuple, Vtuple } from './sync/tuple';
export { composeLeft } from './sync/composeLeft';
export { composeRight } from './sync/composeRight';
export { asyncIntersection } from './async/asyncIntersection';
export { asyncVintersection } from './async/asyncVintersection';
export { asyncUnion } from './async/asyncUnion';
export { asyncVunion } from './async/asyncVunion';
export { asyncOptional } from './async/asyncOptional';
export { asyncVoptional } from './async/asyncVoptional';
export { asyncArrayOf } from './async/asyncArrayOf';
export { asyncVarrayOf } from './async/asyncVarrayOf';
export { takes, Vtakes } from './sync/takes';
export { asyncTuple, asyncVtuple } from './async/asyncTuple';
export { asyncObject } from './async/asyncObject';
export { asyncVobject } from './async/asyncVobject';
export { asyncObjectExact } from './async/asyncObjectExact';
export { asyncVobjectExact } from './async/asyncVobjectExact';
export { match } from './sync/match';
export { returns, Vreturns } from './sync/returns';
export { asyncTakes, asyncVtakes } from './async/asyncTakes';
export { asyncReturns, asyncVreturns } from './async/asyncReturns';