A Laravel(ish) Resource/Transformer in javascript.

My basic attempt at javascript data transformation, resources.js

Will Bowman
asked.io
2 min readApr 1, 2018

--

check out the npm package, resources.js

We‘ve gone serverless at work and we’re using my favorite, nodejs! That means a lot of javascript.

I’ve been using callbacks to transform my results but I’ve become accustomed to Fractal and now Laravels own Eloquent Resources. I like having a “view layer” for my responses, it makes things a lot easier to modify months later.

I don’t need all the features, just basic transformation, so the script is pretty slim.

Resources are defined nearly the same as Laravel.

You even execute it nearly the same.

Is it the same? Not at all, Laravel and Fractal actually do a bit more. I’m in the market for something similar but simpler, if you are too maybe this will be of use.

It would be nice to have more features, use a process method and the filter for even more options. We’ll see where it goes.

Update:

By default your results will be wrapped in a data key. You can disable this by passing the second parameter as false.

You can now pass a paginated object to collection, the data field is required for parsing. The rest of your fields will be merged with the results.

A full example

I’ve made this a package instead, check out the npmjs page for its readme.

Conclusion

I love writing javascript. It’s fun. I hope sharing will help provide some feed back so please let me know your opinions.

--

--