0.0.14 • Published 4 years ago

decode-ts v0.0.14

Weekly downloads
96
License
-
Repository
-
Last release
4 years ago

decode-ts

TypeScript compatible value decoding.

  • io-ts is used to perform IO validation for type safety.
  • fp-ts is used for its Either type.

This is mostly a wrapper around the terrific io-ts to add a call to JSON.parse. You could achieve something similar with an io-ts type, however there is no way to propoagate the JSON parsing errors, hence the need for the wrapper.

Installation

yarn add decode-ts

Example

import * as t from 'io-ts';

import { jsonDecodeString, reportJsonDecodeError } from './index';

const Person = t.interface({
    id: t.string,
    age: t.number,
});

const log = (val: any) => console.log(JSON.stringify(val));

log(jsonDecodeString(Person)('foo')); // Left ParsingError
log(jsonDecodeString(Person)('{ "id": 1 }')); // Left ValidationErrors
log(jsonDecodeString(Person)('{ "id": "foo", "age": 5 }')); // Right { id: 'foo', age: 5 }

// Use the reporter for friendly error messages:

log(reportJsonDecodeError(jsonDecodeString(Person)('foo')));
// ["Unexpected token o in JSON at position 1"]
log(reportJsonDecodeError(jsonDecodeString(Person)('{ "id": 1 }')));
// ["Expecting string at id but instead got: 1.","Expecting number at age but instead got: undefined."]

Development

yarn
yarn compile
yarn lint
0.0.14

4 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago