Socket
Socket
Sign inDemoInstall

io-ts

Package Overview
Dependencies
Maintainers
1
Versions
120
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

io-ts - npm Package Compare versions

Comparing version 0.2.1 to 0.2.2

4

CHANGELOG.md

@@ -15,3 +15,3 @@ # Changelog

# 0.2.1
# 0.2.2

@@ -35,2 +35,4 @@ - **New Feature**

- revert `intersection` combinator accepting only `InterfaceType`s
- **Experimental**
- Pattern matching / catamorphism for unions

@@ -37,0 +39,0 @@ # 0.1.0

@@ -98,5 +98,32 @@ import { Either } from 'fp-ts/lib/Either';

export declare function dictionary<D extends Type<string>, C extends Any>(domain: D, codomain: C, name?: string): DictionaryType<D, C>;
export declare class UnionType<RTS, U> extends Type<U> {
export declare type Match<RT extends Any, R> = (a: TypeOf<RT>) => R;
export declare class UnionType<RTS extends Array<Any>, U> extends Type<U> {
readonly types: RTS;
constructor(name: string, validate: Validate<U>, types: RTS);
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>, v: Match<RTS[21], R>, w: Match<RTS[22], R>, x: Match<RTS[23], R>, y: Match<RTS[24], R>, z: Match<RTS[25], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>, v: Match<RTS[21], R>, w: Match<RTS[22], R>, x: Match<RTS[23], R>, y: Match<RTS[24], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>, v: Match<RTS[21], R>, w: Match<RTS[22], R>, x: Match<RTS[23], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>, v: Match<RTS[21], R>, w: Match<RTS[22], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>, v: Match<RTS[21], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>): (value: U) => R;
}

@@ -103,0 +130,0 @@ export declare function union<A extends Any, B extends Any, C extends Any, D extends Any, E extends Any, F extends Any, G extends Any, H extends Any, I extends Any, J extends Any, K extends Any, L extends Any, M extends Any, N extends Any, O extends Any, P extends Any, Q extends Any, R extends Any, S extends Any, T extends Any, U extends Any, V extends Any, W extends Any, X extends Any, Y extends Any, Z extends Any>(types: [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z], name?: string): UnionType<[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z], TypeOf<A> | TypeOf<B> | TypeOf<C> | TypeOf<D> | TypeOf<E> | TypeOf<F> | TypeOf<G> | TypeOf<H> | TypeOf<I> | TypeOf<J> | TypeOf<K> | TypeOf<L> | TypeOf<M> | TypeOf<N> | TypeOf<O> | TypeOf<P> | TypeOf<Q> | TypeOf<R> | TypeOf<S> | TypeOf<T> | TypeOf<U> | TypeOf<V> | TypeOf<W> | TypeOf<X> | TypeOf<Y> | TypeOf<Z>>;

@@ -247,5 +247,2 @@ var __extends = (this && this.__extends) || (function () {

}
//
// unions
//
var UnionType = (function (_super) {

@@ -258,2 +255,19 @@ __extends(UnionType, _super);

}
UnionType.prototype.fold = function () {
var _this = this;
var matches = [];
for (var _i = 0; _i < arguments.length; _i++) {
matches[_i] = arguments[_i];
}
return function (value) {
for (var i = 0, len = matches.length; i < len; i++) {
var type = _this.types[i];
var match = matches[i];
if (type.is(value)) {
return match(value);
}
}
throw new Error("Invalid value " + JSON.stringify(value) + " supplied to " + _this.name);
};
};
return UnionType;

@@ -260,0 +274,0 @@ }(Type));

@@ -98,5 +98,32 @@ import { Either } from 'fp-ts/lib/Either';

export declare function dictionary<D extends Type<string>, C extends Any>(domain: D, codomain: C, name?: string): DictionaryType<D, C>;
export declare class UnionType<RTS, U> extends Type<U> {
export declare type Match<RT extends Any, R> = (a: TypeOf<RT>) => R;
export declare class UnionType<RTS extends Array<Any>, U> extends Type<U> {
readonly types: RTS;
constructor(name: string, validate: Validate<U>, types: RTS);
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>, v: Match<RTS[21], R>, w: Match<RTS[22], R>, x: Match<RTS[23], R>, y: Match<RTS[24], R>, z: Match<RTS[25], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>, v: Match<RTS[21], R>, w: Match<RTS[22], R>, x: Match<RTS[23], R>, y: Match<RTS[24], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>, v: Match<RTS[21], R>, w: Match<RTS[22], R>, x: Match<RTS[23], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>, v: Match<RTS[21], R>, w: Match<RTS[22], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>, v: Match<RTS[21], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>, u: Match<RTS[20], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>, t: Match<RTS[19], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>, s: Match<RTS[18], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>, r: Match<RTS[17], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>, q: Match<RTS[16], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>, p: Match<RTS[15], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>, o: Match<RTS[14], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>, n: Match<RTS[13], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>, m: Match<RTS[12], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>, l: Match<RTS[11], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>, k: Match<RTS[10], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>, j: Match<RTS[9], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>, i: Match<RTS[8], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>, h: Match<RTS[7], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>, g: Match<RTS[6], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>, f: Match<RTS[5], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>, e: Match<RTS[4], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>, d: Match<RTS[3], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>, c: Match<RTS[2], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>, b: Match<RTS[1], R>): (value: U) => R;
fold<R>(a: Match<RTS[0], R>): (value: U) => R;
}

@@ -103,0 +130,0 @@ export declare function union<A extends Any, B extends Any, C extends Any, D extends Any, E extends Any, F extends Any, G extends Any, H extends Any, I extends Any, J extends Any, K extends Any, L extends Any, M extends Any, N extends Any, O extends Any, P extends Any, Q extends Any, R extends Any, S extends Any, T extends Any, U extends Any, V extends Any, W extends Any, X extends Any, Y extends Any, Z extends Any>(types: [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z], name?: string): UnionType<[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z], TypeOf<A> | TypeOf<B> | TypeOf<C> | TypeOf<D> | TypeOf<E> | TypeOf<F> | TypeOf<G> | TypeOf<H> | TypeOf<I> | TypeOf<J> | TypeOf<K> | TypeOf<L> | TypeOf<M> | TypeOf<N> | TypeOf<O> | TypeOf<P> | TypeOf<Q> | TypeOf<R> | TypeOf<S> | TypeOf<T> | TypeOf<U> | TypeOf<V> | TypeOf<W> | TypeOf<X> | TypeOf<Y> | TypeOf<Z>>;

@@ -265,5 +265,2 @@ "use strict";

exports.dictionary = dictionary;
//
// unions
//
var UnionType = (function (_super) {

@@ -276,2 +273,19 @@ __extends(UnionType, _super);

}
UnionType.prototype.fold = function () {
var _this = this;
var matches = [];
for (var _i = 0; _i < arguments.length; _i++) {
matches[_i] = arguments[_i];
}
return function (value) {
for (var i = 0, len = matches.length; i < len; i++) {
var type = _this.types[i];
var match = matches[i];
if (type.is(value)) {
return match(value);
}
}
throw new Error("Invalid value " + JSON.stringify(value) + " supplied to " + _this.name);
};
};
return UnionType;

@@ -278,0 +292,0 @@ }(Type));

{
"name": "io-ts",
"version": "0.2.1",
"version": "0.2.2",
"description": "TypeScript compatible runtime type system for IO validation",

@@ -32,8 +32,8 @@ "files": [

"devDependencies": {
"@types/mocha": "^2.2.38",
"@types/node": "^7.0.4",
"mocha": "^3.2.0",
"ts-node": "^2.0.0",
"@types/mocha": "2.2.38",
"@types/node": "7.0.4",
"mocha": "3.2.0",
"ts-node": "2.0.0",
"typescript": "^2.2.0",
"typings-checker": "^1.1.2"
"typings-checker": "1.1.2"
},

@@ -40,0 +40,0 @@ "tags": [

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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