Add some comments
parent
0408a93927
commit
0dad186da2
|
@ -4,18 +4,21 @@ import {invariant} from '../utils';
|
||||||
import type {Type, TypeId} from '../types';
|
import type {Type, TypeId} from '../types';
|
||||||
import * as t from '../types';
|
import * as t from '../types';
|
||||||
|
|
||||||
|
// Object.
|
||||||
function object(params: (?Type)[]): ?Type {
|
function object(params: (?Type)[]): ?Type {
|
||||||
invariant(params.length === 0);
|
invariant(params.length === 0);
|
||||||
|
|
||||||
return t.createMap(t.createMixed(), t.createMixed());
|
return t.createMap(t.createMixed(), t.createMixed());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Buffer.
|
||||||
function buffer(params: (?Type)[]): ?Type {
|
function buffer(params: (?Type)[]): ?Type {
|
||||||
invariant(params.length === 0);
|
invariant(params.length === 0);
|
||||||
|
|
||||||
return t.createReference(['Buffer']);
|
return t.createReference(['Buffer']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Array<T> and $ReadOnlyArray<T>.
|
||||||
function array(params: (?Type)[]): ?Type {
|
function array(params: (?Type)[]): ?Type {
|
||||||
invariant(params.length === 1);
|
invariant(params.length === 1);
|
||||||
invariant(params[0]);
|
invariant(params[0]);
|
||||||
|
@ -23,6 +26,7 @@ function array(params: (?Type)[]): ?Type {
|
||||||
return t.createArray(t.clone(params[0]));
|
return t.createArray(t.clone(params[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// $ElementType<T, K> and $PropertyType<T, k>.
|
||||||
function elemType(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
function elemType(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
invariant(params.length === 2);
|
invariant(params.length === 2);
|
||||||
|
|
||||||
|
@ -45,6 +49,7 @@ function elemType(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
return field ? t.clone(field.value) : null;
|
return field ? t.clone(field.value) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// $NonMaybeType<T>.
|
||||||
function stripMaybe(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
function stripMaybe(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
invariant(params.length === 1);
|
invariant(params.length === 1);
|
||||||
|
|
||||||
|
@ -62,6 +67,7 @@ function stripMaybe(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
return t.clone(maybe.value);
|
return t.clone(maybe.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// $Shape<T>.
|
||||||
function shape(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
function shape(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
invariant(params.length === 1);
|
invariant(params.length === 1);
|
||||||
|
|
||||||
|
@ -84,6 +90,7 @@ function shape(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
return t.createRecord(fields);
|
return t.createRecord(fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// $Exact<T> and $ReadOnly<T>.
|
||||||
function unwrap(params: (?Type)[]): ?Type {
|
function unwrap(params: (?Type)[]): ?Type {
|
||||||
invariant(params.length === 1);
|
invariant(params.length === 1);
|
||||||
|
|
||||||
|
@ -92,6 +99,7 @@ function unwrap(params: (?Type)[]): ?Type {
|
||||||
return type ? t.clone(type) : null;
|
return type ? t.clone(type) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// $Keys<T>.
|
||||||
function keys(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
function keys(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
invariant(params.length === 1);
|
invariant(params.length === 1);
|
||||||
|
|
||||||
|
@ -113,6 +121,7 @@ function keys(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
return t.createUnion(variants);
|
return t.createUnion(variants);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// $Values<T>.
|
||||||
function values(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
function values(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
invariant(params.length === 1);
|
invariant(params.length === 1);
|
||||||
|
|
||||||
|
@ -135,6 +144,7 @@ function values(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
return t.createUnion(variants);
|
return t.createUnion(variants);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// $Diff<M, S>.
|
||||||
function diff(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
function diff(params: (?Type)[], resolve: TypeId => Type): ?Type {
|
||||||
invariant(params.length === 2);
|
invariant(params.length === 2);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue