Comments (2)
I haven't added it to the docs yet, but it's definitely possible without modifications:
module Comment = {
type t = {
text: string,
author: string,
timestamp: Js.Date.t,
likes: int,
replies: list(t),
};
let make = (text, author, timestamp, likes, replies) => {
text,
author,
timestamp,
likes,
replies,
};
let rec decode = json =>
Decode.Pipeline.(
pure(make)
|> field("text", string)
|> field("author", string)
|> field("timestamp", date)
|> field("likes", intFromNumber)
|> field("replies", list(decode))
|> run(json)
);
};
from bs-decode.
I'm going to wait for 2.x to document this, because it's easiest to understand the need for this in the context of record types, and record decoding will change quite a bit with the deprecation of Pipeline
and the addition of letops.
from bs-decode.
Related Issues (20)
- Plan for v2 HOT 11
- Report errors as JSON HOT 1
- Implement MonadThrow
- Deprecate tuple decoders HOT 1
- Rethink custom/extensible validations HOT 1
- Deprecate mapN, NonEmptyList, ParseError.ResultOf
- Add a null decoder HOT 1
- Add dictJson and arrayJson
- Delete all deprecated features
- Add letops support HOT 1
- Add odoc comments
- Change the implementation of optional
- optionalField produces wrong error on non-object JSON HOT 1
- Int decoders succeed on out-of-range numbers
- Order of `fallback` arguments should be switched
- Needs bs-abstract upgrade HOT 4
- mention bs-bastet as a peer dependency over bs-abstract in the docs HOT 2
- decoding-variants#complex-variants HOT 3
- bs-decode no longer compiles v0.11.1 HOT 2
- Production users, roadmap? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bs-decode.