HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
paularmstrong
normalizr
JavaScript2016–2017
paularmstrong / normalizr · Archived

normalizr

Normalizes nested JSON according to a schema

3Distinct people
3Mentions
0Explicit recommenders
20.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Normalizes nested JSON according to a schema

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month3 dated mentions

Observed mentions: 2016-10-08 19:09:46 UTC to 2017-07-04 15:13:00 UTC.

012016-10-01 00:00:00 UTC to 2016-11-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsOct 20162016-11-01 00:00:00 UTC to 2016-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-12-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-01-01 00:00:00 UTC to 2017-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-02-01 00:00:00 UTC to 2017-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsFeb 20172017-03-01 00:00:00 UTC to 2017-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-04-01 00:00:00 UTC to 2017-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-05-01 00:00:00 UTC to 2017-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-06-01 00:00:00 UTC to 2017-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-07-01 00:00:00 UTC to 2017-08-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJul 2017

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Oct 20162016-10-01 00:00:00 UTC2016-11-01 00:00:00 UTC101
Nov 20162016-11-01 00:00:00 UTC2016-12-01 00:00:00 UTC000
Dec 20162016-12-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
Jan 20172017-01-01 00:00:00 UTC2017-02-01 00:00:00 UTC000
Feb 20172017-02-01 00:00:00 UTC2017-03-01 00:00:00 UTC000
Mar 20172017-03-01 00:00:00 UTC2017-04-01 00:00:00 UTC000
Apr 20172017-04-01 00:00:00 UTC2017-05-01 00:00:00 UTC000
May 20172017-05-01 00:00:00 UTC2017-06-01 00:00:00 UTC000
Jun 20172017-06-01 00:00:00 UTC2017-07-01 00:00:00 UTC000
Jul 20172017-07-01 00:00:00 UTC2017-08-01 00:00:00 UTC101

What Hacker News says

3 sources
Really cool summary of the power of such libs like redux-saga. I indeed prefer using sagas than observables, maybe because of the cool 'select', 'put' and 'call' apis that helps me to do smart hook methods. With a good combination with such normalizr lib (https://github.com/paularmstrong/normalizr), you can actually fast implement a light optimist transactions system between frontend and backend. For instance, you can define a REQUEST_PUT_ENTITIES action, and a saga watching on it. This saga will do: - a 'call' for calling the api post method for updating the backend (ie updating all the collections through your backend database apis) - get back from the api the put data, and into the saga you then 'put' a MERGE_INTO_ENTITIES action, in order to direclty update and normalize your frontend entities app state. - once your app state is synch
Read the rest
ronised, your saga can even 'select' again these put entities thanks to their ids and you can 'put' a nice REQUEST_PUT_ENTITIES_SUCCESS action from which you can hook any kind of specific-to-the-app post-synchronized methods. So, for me redux-saga with a bit of wrapping is like a light solution for doing what we all are searching actually in such heavy libs like Relay or react-appollo (but here I am talking for a quick solution with a 'stupid-like REST approach'...so maybe not optimized for sure) I don't know what do you think guys...
In Async actions in React Redux
I remember coming across it fairly heavily in react/redux stuff, mostly because it makes dealing with redux's stores a lot simpler if you avoid nested structures like that. There's a library called normalizr[1], whose purpose is to take nested API responses and turn them into flat structures. Have an article[2] about it. [1]: https://github.com/paularmstrong/normalizr [2]: https://tonyhb.gitbooks.io/redux-without-profanity/content/n...
In Offline First – A Better HTML5 User Experience

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.