@@ -178,15 +178,14 @@ Here’s a summary of all codecs (with slightly simplified type annotations) and
178
178
1,
179
179
2,
180
180
true
181
- ] ) => ;
182
- Codec< ;
183
- "string1"
184
- | "string2"
185
- | "stringN"
186
- | 1
187
- | 2
188
- | true
189
- > ; </pre ></td >
181
+ ] ) => ; Codec< ;
182
+ "string1"
183
+ | "string2"
184
+ | "stringN"
185
+ | 1
186
+ | 2
187
+ | true
188
+ > ; </pre ></td >
190
189
<td >string, number, boolean, null</td >
191
190
<td ><pre >"string1"
192
191
| "string2"
@@ -198,157 +197,172 @@ Here’s a summary of all codecs (with slightly simplified type annotations) and
198
197
<tr >
199
198
<th ><a href =" #array " >array</a ></th >
200
199
<td ><pre >(decoder: Codec< ; T> ; ) => ;
201
- Codec< ; Array< ; T> ;> ; </pre ></td >
200
+ Codec< ; Array< ; T> ;> ; </pre ></td >
202
201
<td >array</td >
203
202
<td ><code >Array< ; T> ; </code ></td >
204
203
</tr >
205
204
<tr >
206
205
<th ><a href =" #record " >record</a ></th >
207
206
<td ><pre >(decoder: Codec< ; T> ; ) => ;
208
- Codec< ; Record< ; string, T> ;> ; </pre ></td >
207
+ Codec< ; Record< ; string, T> ;> ; </pre ></td >
209
208
<td >object</td >
210
209
<td ><code >Record< ; string, T> ; </code ></td >
211
210
</tr >
212
211
<tr >
213
212
<th ><a href =" #fields " >fields</a ></th >
214
213
<td ><pre >(mapping: {
215
- field1: Codec< ; T1> ; ,
216
- field2: Field< ; T2, {optional: true}> ; ,
217
- field3: Field< ; T3, {renameFrom: "field_3"}> ; ,
218
- fieldN: Codec< ; TN> ;
219
- }) => ;
220
- Codec< ; {
221
- field1: T1,
222
- field2?: T2,
223
- field3: T3,
224
- fieldN: TN
225
- }> ; </pre ></td >
214
+ field1: Codec< ; T1> ; ,
215
+ field2: Field< ;
216
+ T2,
217
+ { optional: true }
218
+ > ; ,
219
+ field3: Field< ;
220
+ T3,
221
+ { renameFrom: "field_3" }
222
+ > ; ,
223
+ fieldN: Codec< ; TN> ;
224
+ }) => ; Codec< ; {
225
+ field1: T1,
226
+ field2?: T2,
227
+ field3: T3,
228
+ fieldN: TN
229
+ }> ; </pre ></td >
226
230
<td ><pre >{
227
- "field1": ...,
228
- "field2": ...,
229
- "field_3": ...,
230
- "fieldN": ...
231
+ "field1": ...,
232
+ "field2": ...,
233
+ "field_3": ...,
234
+ "fieldN": ...
231
235
}</pre > or: <pre >{
232
- "field1": ...,
233
- "field_3": ...,
234
- "fieldN": ...
236
+ "field1": ...,
237
+ "field_3": ...,
238
+ "fieldN": ...
235
239
}</pre ></td >
236
240
<td ><pre >{
237
- field1: T1,
238
- field2?: T2,
239
- field3: T3,
240
- fieldN: TN
241
+ field1: T1,
242
+ field2?: T2,
243
+ field3: T3,
244
+ fieldN: TN
241
245
}</pre ></td >
242
246
</tr >
243
247
<tr >
244
248
<th ><a href =" #field " >field</a ></th >
245
249
<td ><pre >(
246
- codec: Codec< ; Decoded> ; ,
247
- meta: Meta,
248
- ) => Field< ; Decoded, Meta> ; </pre ></td >
250
+ codec: Codec< ; Decoded> ; ,
251
+ meta: Meta,
252
+ ) =& gt ; Field< ; Decoded, Meta> ; </pre ></td >
249
253
<td >n/a</td >
250
254
<td >n/a, only used with <code >fields</code ></td >
251
255
</tr >
252
256
<tr >
253
257
<th ><a href =" #taggedunion " >taggedUnion</a ></th >
254
258
<td ><pre >(
255
- decodedCommonField: string,
256
- variants: Array< ;
257
- Parameters< ; typeof fields> ; [ 0]
258
- > ; ,
259
- ) => ;
260
- Codec< ; T1 | T2 | TN> ; </pre ></td >
259
+ decodedCommonField: string,
260
+ variants: Array< ;
261
+ Parameters< ; typeof fields> ; [ 0]
262
+ > ; ,
263
+ ) => ; Codec< ; T1 | T2 | TN> ; </pre ></td >
261
264
<td >object</td >
262
265
<td ><code >T1 | T2 | TN</code ></td >
263
266
</tr >
264
267
<tr >
265
268
<th ><a href =" #tag " >tag</a ></th >
266
269
<td ><pre >(
267
- decoded: "string literal",
268
- options?: Options,
269
- ) => Field< ; "string literal", Meta> ; </pre ></td >
270
+ decoded: "string literal",
271
+ options?: Options,
272
+ ) => ;
273
+ Field< ; "string literal", Meta> ; </pre ></td >
270
274
<td >string</td >
271
275
<td ><code >"string literal"</code ></td >
272
276
</tr >
273
277
<tr >
274
278
<th ><a href =" #tuple " >tuple</a ></th >
275
279
<td ><pre >(codecs: [
276
- Codec< ; T1> ; ,
277
- Codec< ; T2> ; ,
278
- Codec< ; TN> ;
279
- ] ) => ;
280
- Codec< ; [ T1, T2, TN] > ; </pre ></td >
280
+ Codec< ; T1> ; ,
281
+ Codec< ; T2> ; ,
282
+ Codec< ; TN> ;
283
+ ] ) => ; Codec< ; [ T1, T2, TN] > ; </pre ></td >
281
284
<td >array</td >
282
285
<td ><code >[T1, T2, TN]</code ></td >
283
286
</tr >
284
287
<tr >
285
288
<th ><a href =" #multi " >multi</a ></th >
286
289
<td ><pre >(types: [
287
- "type1",
288
- "type2",
289
- "type10"
290
- ] ) => ;
291
- Codec< ;
292
- { type: "type1", value: type1 }
293
- | { type: "type2", value: type2 }
294
- | { type: "type10", value: type10 }
295
- > ; </pre ></td >
290
+ "type1",
291
+ "type2",
292
+ "type10"
293
+ ] ) => ; Codec< ;
294
+ { type: "type1",
295
+ value: type1 }
296
+ | { type: "type2",
297
+ value: type2 }
298
+ | { type: "type10",
299
+ value: type10 }
300
+ > ; </pre ></td >
296
301
<td >you decide</td >
297
- <td >A subset of: <pre >{ type: "undefined"; value: undefined }
298
- | { type: "null"; value: null }
299
- | { type: "boolean"; value: boolean }
300
- | { type: "number"; value: number }
301
- | { type: "bigint"; value: bigint }
302
- | { type: "string"; value: string }
303
- | { type: "symbol"; value: symbol }
304
- | { type: "function"; value: Function }
305
- | { type: "array"; value: Array<unknown > }
306
- | { type: "object"; value: Record<string, unknown> }</pre ></td >
302
+ <td >A subset of: <pre > { type: "undefined";
303
+ value: undefined }
304
+ | { type: "null";
305
+ value: null }
306
+ | { type: "boolean";
307
+ value: boolean }
308
+ | { type: "number";
309
+ value: number }
310
+ | { type: "bigint";
311
+ value: bigint }
312
+ | { type: "string";
313
+ value: string }
314
+ | { type: "symbol";
315
+ value: symbol }
316
+ | { type: "function";
317
+ value: Function }
318
+ | { type: "array";
319
+ value: Array<unknown > }
320
+ | { type: "object";
321
+ value: Record<string, unknown> }</pre ></td >
307
322
</tr >
308
323
<tr >
309
324
<th ><a href =" #recursive " >recursive</a ></th >
310
- <td ><pre >(callback: () => Codec< ; T> ; ) => ;
311
- Codec< ; T> ; </pre ></td >
325
+ <td ><pre >(callback: () =& gt ; Codec< ; T> ; ) => ;
326
+ Codec< ; T> ; </pre ></td >
312
327
<td >n/a</td >
313
328
<td ><code >T</code ></td >
314
329
</tr >
315
330
<tr >
316
331
<th ><a href =" #undefinedor " >undefinedOr</a ></th >
317
332
<td ><pre >(codec: Codec< ; T> ; ) => ;
318
- Codec< ; T | undefined> ; </pre ></td >
333
+ Codec< ; T | undefined> ; </pre ></td >
319
334
<td >undefined or …</td >
320
335
<td ><code >T | undefined</code ></td >
321
336
</tr >
322
337
<tr >
323
338
<th ><a href =" #nullOr " >nullOr</a ></th >
324
339
<td ><pre >(codec: Codec< ; T> ; ) => ;
325
- Codec< ; T | null> ; </pre ></td >
340
+ Codec< ; T | null> ; </pre ></td >
326
341
<td >null or …</td >
327
342
<td ><code >T | null</code ></td >
328
343
</tr >
329
344
<tr >
330
345
<th ><a href =" #map " >map</a ></th >
331
346
<td ><pre >(
332
- codec: Codec< ; T> ; ,
333
- transform: {
334
- decoder: (value: T) => ; U;
335
- encoder: (value: U) => ; T;
336
- },
337
- ) => ;
338
- Codec< ; U> ; </pre ></td >
347
+ codec: Codec< ; T> ; ,
348
+ transform: {
349
+ decoder: (value: T) => ; U;
350
+ encoder: (value: U) => ; T;
351
+ },
352
+ ) => ; Codec< ; U> ; </pre ></td >
339
353
<td >n/a</td >
340
354
<td ><code >U</code ></td >
341
355
</tr >
342
356
<tr >
343
357
<th ><a href =" #flatmap " >flatMap</a ></th >
344
358
<td ><pre >(
345
- decoder: Codec< ; T> ; ,
346
- transform: {
347
- decoder: (value: T) => ; DecoderResult & lt ; U & gt ; ;
348
- encoder: (value: U) = > ; T ;
349
- },
350
- ) = & gt ;
351
- Codec< ; U> ; </pre ></td >
359
+ decoder: Codec< ; T> ; ,
360
+ transform: {
361
+ decoder: (value: T) => ;
362
+ DecoderResult & lt ; U > ; ;
363
+ encoder: (value: U) = & gt ; T;
364
+ },
365
+ ) = & gt ; Codec< ; U> ; </pre ></td >
352
366
<td >n/a</td >
353
367
<td ><code >U</code ></td >
354
368
</tr >
0 commit comments