1 |
|
2 |
|
3 |
|
4 | import * as t from './index';
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | export function literal() {
|
12 | var values = [];
|
13 | for (var _i = 0; _i < arguments.length; _i++) {
|
14 | values[_i] = arguments[_i];
|
15 | }
|
16 | return t.union(values.map(function (v) { return t.literal(v); }));
|
17 | }
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 | export var string = t.string;
|
25 |
|
26 |
|
27 |
|
28 | export var number = t.number;
|
29 |
|
30 |
|
31 |
|
32 | export var boolean = t.boolean;
|
33 |
|
34 |
|
35 |
|
36 | export var UnknownArray = t.UnknownArray;
|
37 |
|
38 |
|
39 |
|
40 | export var UnknownRecord = t.UnknownRecord;
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 | export function refinement(from, refinement, expected) {
|
48 |
|
49 | return t.refinement(from, refinement, expected);
|
50 | }
|
51 |
|
52 |
|
53 |
|
54 | export function nullable(or) {
|
55 | return t.union([t.null, or]);
|
56 | }
|
57 |
|
58 |
|
59 |
|
60 | export function type(properties) {
|
61 | return t.type(properties);
|
62 | }
|
63 |
|
64 |
|
65 |
|
66 | export function partial(properties) {
|
67 | return t.partial(properties);
|
68 | }
|
69 |
|
70 |
|
71 |
|
72 | export function record(codomain) {
|
73 | return t.record(t.string, codomain);
|
74 | }
|
75 |
|
76 |
|
77 |
|
78 | export function array(items) {
|
79 | return t.array(items);
|
80 | }
|
81 |
|
82 |
|
83 |
|
84 | export function tuple() {
|
85 | var components = [];
|
86 | for (var _i = 0; _i < arguments.length; _i++) {
|
87 | components[_i] = arguments[_i];
|
88 | }
|
89 | return t.tuple(components);
|
90 | }
|
91 |
|
92 |
|
93 |
|
94 | export function intersection(left, right) {
|
95 | return t.intersection([left, right]);
|
96 | }
|
97 |
|
98 |
|
99 |
|
100 | export function lazy(id, f) {
|
101 | return t.recursion(id, f);
|
102 | }
|
103 |
|
104 |
|
105 |
|
106 | export function sum(_tag) {
|
107 | return function (members) { return t.union(Object.values(members)); };
|
108 | }
|
109 |
|
110 |
|
111 |
|
112 | export function union() {
|
113 | var members = [];
|
114 | for (var _i = 0; _i < arguments.length; _i++) {
|
115 | members[_i] = arguments[_i];
|
116 | }
|
117 | return t.union(members);
|
118 | }
|
119 |
|
120 |
|
121 |
|
122 |
|
123 |
|
124 |
|
125 | export var URI = 'io-ts/Type';
|
126 |
|
127 |
|
128 |
|
129 | export var schemableType = {
|
130 | URI: URI,
|
131 | literal: literal,
|
132 | string: string,
|
133 | number: number,
|
134 | boolean: boolean,
|
135 | nullable: nullable,
|
136 | type: type,
|
137 | partial: partial,
|
138 | record: record,
|
139 | array: array,
|
140 | tuple: tuple,
|
141 | intersection: intersection,
|
142 | sum: sum,
|
143 | lazy: lazy,
|
144 | UnknownArray: UnknownArray,
|
145 | UnknownRecord: UnknownRecord,
|
146 | union: union,
|
147 | refinement: refinement
|
148 | };
|