decode-ts
TypeScript compatible value decoding.
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
;;;;logjsonDecodeStringPerson'foo'; // Left ParsingErrorlogjsonDecodeStringPerson'{ "id": 1 }'; // Left ValidationErrorslogjsonDecodeStringPerson'{ "id": "foo", "age": 5 }'; // Right { id: 'foo', age: 5 }// Use the reporter for friendly error messages:logreportJsonDecodeErrorjsonDecodeStringPerson'foo';// ["Unexpected token o in JSON at position 1"]logreportJsonDecodeErrorjsonDecodeStringPerson'{ "id": 1 }';// ["Expecting string at id but instead got: 1.","Expecting number at age but instead got: undefined."]
Development
yarn
yarn compile
yarn lint