1 | "use strict";
|
2 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3 | if (k2 === undefined) k2 = k;
|
4 | Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
5 | }) : (function(o, m, k, k2) {
|
6 | if (k2 === undefined) k2 = k;
|
7 | o[k2] = m[k];
|
8 | }));
|
9 | var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
10 | Object.defineProperty(o, "default", { enumerable: true, value: v });
|
11 | }) : function(o, v) {
|
12 | o["default"] = v;
|
13 | });
|
14 | var __importStar = (this && this.__importStar) || function (mod) {
|
15 | if (mod && mod.__esModule) return mod;
|
16 | var result = {};
|
17 | if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
18 | __setModuleDefault(result, mod);
|
19 | return result;
|
20 | };
|
21 | Object.defineProperty(exports, "__esModule", { value: true });
|
22 | exports.Invariant = exports.URI = exports.imap = exports.compose = exports.readonly = exports.lazy = exports.sum = exports.fromSum = exports.intersect = exports.tuple = exports.fromTuple = exports.record = exports.fromRecord = exports.array = exports.fromArray = exports.partial = exports.fromPartial = exports.type = exports.struct = exports.fromType = exports.fromStruct = exports.nullable = exports.refine = exports.mapLeftWithInput = exports.UnknownRecord = exports.UnknownArray = exports.boolean = exports.number = exports.string = exports.literal = exports.fromDecoder = exports.make = void 0;
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 | var function_1 = require("fp-ts/lib/function");
|
34 | var pipeable_1 = require("fp-ts/lib/pipeable");
|
35 | var D = __importStar(require("./Decoder"));
|
36 | var E = __importStar(require("./Encoder"));
|
37 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 | function make(decoder, encoder) {
|
45 | return {
|
46 | decode: decoder.decode,
|
47 | encode: encoder.encode
|
48 | };
|
49 | }
|
50 | exports.make = make;
|
51 |
|
52 |
|
53 |
|
54 |
|
55 | function fromDecoder(decoder) {
|
56 | return {
|
57 | decode: decoder.decode,
|
58 | encode: function_1.identity
|
59 | };
|
60 | }
|
61 | exports.fromDecoder = fromDecoder;
|
62 |
|
63 |
|
64 |
|
65 |
|
66 | function literal() {
|
67 | var values = [];
|
68 | for (var _i = 0; _i < arguments.length; _i++) {
|
69 | values[_i] = arguments[_i];
|
70 | }
|
71 | return fromDecoder(D.literal.apply(D, values));
|
72 | }
|
73 | exports.literal = literal;
|
74 |
|
75 |
|
76 |
|
77 |
|
78 |
|
79 |
|
80 |
|
81 | exports.string =
|
82 |
|
83 | fromDecoder(D.string);
|
84 |
|
85 |
|
86 |
|
87 |
|
88 | exports.number =
|
89 |
|
90 | fromDecoder(D.number);
|
91 |
|
92 |
|
93 |
|
94 |
|
95 | exports.boolean =
|
96 |
|
97 | fromDecoder(D.boolean);
|
98 |
|
99 |
|
100 |
|
101 |
|
102 | exports.UnknownArray =
|
103 |
|
104 | fromDecoder(D.UnknownArray);
|
105 |
|
106 |
|
107 |
|
108 |
|
109 | exports.UnknownRecord =
|
110 |
|
111 | fromDecoder(D.UnknownRecord);
|
112 |
|
113 |
|
114 |
|
115 |
|
116 |
|
117 |
|
118 |
|
119 | var mapLeftWithInput = function (f) { return function (codec) { return make(pipeable_1.pipe(codec, D.mapLeftWithInput(f)), codec); }; };
|
120 | exports.mapLeftWithInput = mapLeftWithInput;
|
121 |
|
122 |
|
123 |
|
124 |
|
125 | var refine = function (refinement, id) {
|
126 | var refine = D.refine(refinement, id);
|
127 | return function (from) { return make(refine(from), from); };
|
128 | };
|
129 | exports.refine = refine;
|
130 |
|
131 |
|
132 |
|
133 |
|
134 | function nullable(or) {
|
135 | return make(D.nullable(or), E.nullable(or));
|
136 | }
|
137 | exports.nullable = nullable;
|
138 |
|
139 |
|
140 |
|
141 |
|
142 | function fromStruct(properties) {
|
143 | return make(D.fromStruct(properties), E.struct(properties));
|
144 | }
|
145 | exports.fromStruct = fromStruct;
|
146 |
|
147 |
|
148 |
|
149 |
|
150 |
|
151 |
|
152 |
|
153 | exports.fromType = fromStruct;
|
154 |
|
155 |
|
156 |
|
157 |
|
158 | function struct(properties) {
|
159 | return pipeable_1.pipe(exports.UnknownRecord, exports.compose(fromStruct(properties)));
|
160 | }
|
161 | exports.struct = struct;
|
162 |
|
163 |
|
164 |
|
165 |
|
166 |
|
167 |
|
168 |
|
169 | exports.type = struct;
|
170 |
|
171 |
|
172 |
|
173 |
|
174 | function fromPartial(properties) {
|
175 | return make(D.fromPartial(properties), E.partial(properties));
|
176 | }
|
177 | exports.fromPartial = fromPartial;
|
178 |
|
179 |
|
180 |
|
181 |
|
182 | function partial(properties) {
|
183 | return pipeable_1.pipe(exports.UnknownRecord, exports.compose(fromPartial(properties)));
|
184 | }
|
185 | exports.partial = partial;
|
186 |
|
187 |
|
188 |
|
189 |
|
190 | function fromArray(item) {
|
191 | return make(D.fromArray(item), E.array(item));
|
192 | }
|
193 | exports.fromArray = fromArray;
|
194 |
|
195 |
|
196 |
|
197 |
|
198 | function array(item) {
|
199 | return pipeable_1.pipe(exports.UnknownArray, exports.compose(fromArray(item)));
|
200 | }
|
201 | exports.array = array;
|
202 |
|
203 |
|
204 |
|
205 |
|
206 | function fromRecord(codomain) {
|
207 | return make(D.fromRecord(codomain), E.record(codomain));
|
208 | }
|
209 | exports.fromRecord = fromRecord;
|
210 |
|
211 |
|
212 |
|
213 |
|
214 | function record(codomain) {
|
215 | return pipeable_1.pipe(exports.UnknownRecord, exports.compose(fromRecord(codomain)));
|
216 | }
|
217 | exports.record = record;
|
218 |
|
219 |
|
220 |
|
221 |
|
222 | var fromTuple = function () {
|
223 | var components = [];
|
224 | for (var _i = 0; _i < arguments.length; _i++) {
|
225 | components[_i] = arguments[_i];
|
226 | }
|
227 | return make(D.fromTuple.apply(D, components), E.tuple.apply(E, components));
|
228 | };
|
229 | exports.fromTuple = fromTuple;
|
230 |
|
231 |
|
232 |
|
233 |
|
234 | function tuple() {
|
235 | var components = [];
|
236 | for (var _i = 0; _i < arguments.length; _i++) {
|
237 | components[_i] = arguments[_i];
|
238 | }
|
239 | return pipeable_1.pipe(exports.UnknownArray, exports.compose(exports.fromTuple.apply(void 0, components)));
|
240 | }
|
241 | exports.tuple = tuple;
|
242 |
|
243 |
|
244 |
|
245 |
|
246 | var intersect = function (right) {
|
247 | var intersectD = D.intersect(right);
|
248 | var intersectE = E.intersect(right);
|
249 | return function (left) { return make(intersectD(left), intersectE(left)); };
|
250 | };
|
251 | exports.intersect = intersect;
|
252 |
|
253 |
|
254 |
|
255 |
|
256 | var fromSum = function (tag) {
|
257 | var decoder = D.fromSum(tag);
|
258 | var encoder = E.sum(tag);
|
259 | return function (members) { return make(decoder(members), encoder(members)); };
|
260 | };
|
261 | exports.fromSum = fromSum;
|
262 |
|
263 |
|
264 |
|
265 |
|
266 | function sum(tag) {
|
267 | var sum = exports.fromSum(tag);
|
268 | return function (members) { return pipeable_1.pipe(exports.UnknownRecord, exports.compose(sum(members))); };
|
269 | }
|
270 | exports.sum = sum;
|
271 |
|
272 |
|
273 |
|
274 |
|
275 | function lazy(id, f) {
|
276 | return make(D.lazy(id, f), E.lazy(f));
|
277 | }
|
278 | exports.lazy = lazy;
|
279 |
|
280 |
|
281 |
|
282 |
|
283 | exports.readonly = function_1.identity;
|
284 |
|
285 |
|
286 |
|
287 |
|
288 | var compose = function (to) { return function (from) { return make(D.compose(to)(from), E.compose(from)(to)); }; };
|
289 | exports.compose = compose;
|
290 |
|
291 |
|
292 |
|
293 | var imap_ = function (fa, f, g) { return make(D.Functor.map(fa, f), E.Contravariant.contramap(fa, g)); };
|
294 |
|
295 |
|
296 |
|
297 |
|
298 |
|
299 |
|
300 |
|
301 | var imap = function (f, g) { return function (fa) { return imap_(fa, f, g); }; };
|
302 | exports.imap = imap;
|
303 |
|
304 |
|
305 |
|
306 |
|
307 |
|
308 |
|
309 |
|
310 | exports.URI = 'io-ts/Codec';
|
311 |
|
312 |
|
313 |
|
314 |
|
315 | exports.Invariant = {
|
316 | URI: exports.URI,
|
317 | imap: imap_
|
318 | };
|