UNPKG

2.06 kBJavaScriptView Raw
1import { identity } from 'fp-ts/es6/function';
2import * as E from './Encoder';
3// -------------------------------------------------------------------------------------
4// primitives
5// -------------------------------------------------------------------------------------
6/**
7 * @since 2.2.5
8 */
9export function id() {
10 return {
11 encode: identity
12 };
13}
14// -------------------------------------------------------------------------------------
15// combinators
16// -------------------------------------------------------------------------------------
17/**
18 * @since 2.2.3
19 */
20export var nullable = E.nullable;
21/**
22 * @since 2.2.3
23 */
24export var type = E.type;
25/**
26 * @since 2.2.3
27 */
28export var partial = E.partial;
29/**
30 * @since 2.2.3
31 */
32export var record = E.record;
33/**
34 * @since 2.2.3
35 */
36export var array = E.array;
37/**
38 * @since 2.2.3
39 */
40export var tuple = E.tuple;
41/**
42 * @since 2.2.3
43 */
44export var intersection = E.intersection;
45/**
46 * @since 2.2.3
47 */
48export var sum = E.sum;
49/**
50 * @since 2.2.3
51 */
52export var lazy = E.lazy;
53// -------------------------------------------------------------------------------------
54// pipeables
55// -------------------------------------------------------------------------------------
56/**
57 * @since 2.2.3
58 */
59export var contramap = E.contramap;
60// -------------------------------------------------------------------------------------
61// instances
62// -------------------------------------------------------------------------------------
63/**
64 * @since 2.2.3
65 */
66export var URI = 'io-ts/JsonEncoder';
67/**
68 * @since 2.2.3
69 */
70export var contravariantJsonEncoder = {
71 URI: URI,
72 contramap: E.contravariantEncoder.contramap
73};
74/**
75 * @since 2.2.3
76 */
77export var schemableJsonEncoder = {
78 URI: URI,
79 literal: function () { return id(); },
80 string: id(),
81 number: id(),
82 boolean: id(),
83 nullable: nullable,
84 type: type,
85 partial: partial,
86 record: record,
87 array: array,
88 tuple: tuple,
89 intersection: intersection,
90 sum: sum,
91 lazy: function (_, f) { return lazy(f); }
92};