UNPKG

2.6 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/utils/index.js"],"names":["fromEmpty","val","chain","v","registerWindowResize","store","actionName","changeScreenSize","type","payload","width","win","innerWidth","height","innerHeight","window","console","log","windowSizeListener","dispatch","e","target","addEventListener","createSimpleReducer","defaultState","initialState","state","action"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,gCAAY,SAAZA,SAAY;AAAA,SAAO,wBAAaC,GAAb,EAAkBC,KAAlB,CAAwB;AAAA,WAAMC,KAAK,IAAL,GAAY,oBAAZ,GAAwB,gBAAKA,CAAL,CAA9B;AAAA,GAAxB,CAAP;AAAA,CAAlB;;AAEP;AACO,IAAMC,sDAAuB,SAAvBA,oBAAuB,OAA2B;AAAA,MAAxBC,KAAwB,QAAxBA,KAAwB;AAAA,MAAjBC,UAAiB,QAAjBA,UAAiB;;AAC7D,MAAMC,mBAAmB,SAAnBA,gBAAmB;AAAA,WAAQ;AAC/BC,YAAMF,UADyB;AAE/BG,eAAS;AACPC,eAAOC,IAAIC,UADJ;AAEPC,gBAAQF,IAAIG;AAFL;AAFsB,KAAR;AAAA,GAAzB;;AAQA,MAAIC,MAAJ,EAAY;AACV;AACA;AACAC,YAAQC,GAAR,CAAY,6BAAZ;AACA,QAAMC,qBAAqB,wBAAS;AAAA,aAAKb,MAAMc,QAAN,CAAeZ,iBAAiBa,EAAEC,MAAnB,CAAf,CAAL;AAAA,KAAT,EAA0D,GAA1D,CAA3B;AACAN,WAAOO,gBAAP,CAAwB,QAAxB,EAAkCJ,kBAAlC;AACAb,UAAMc,QAAN,CAAeZ,iBAAiBQ,MAAjB,CAAf;AACA;AACD;AACF,CAlBM;;AAoBP;AACO,IAAMQ,oDAAsB,SAAtBA,mBAAsB;AAAA,MAAGC,YAAH,SAAGA,YAAH;AAAA,MAAiBC,YAAjB,SAAiBA,YAAjB;AAAA,MAA+BnB,UAA/B,SAA+BA,UAA/B;AAAA,SAAgD,YAG9E;AAAA,QAFHoB,KAEG,uEAFKD,gBAAgBD,YAAhB,IAAgC,EAErC;AAAA,QADHG,MACG;;AACH,YAAQA,OAAOnB,IAAf;AACE,WAAKF,UAAL;AACE,eAAOqB,OAAOlB,OAAd;AAFJ;AAIA,WAAOiB,KAAP;AACD,GATkC;AAAA,CAA5B","file":"index.js","sourcesContent":["import { fromNullable, Just, Nothing } from 'data.maybe'\nimport debounce from 'debounce'\n\nexport const fromEmpty = val => fromNullable(val).chain(v => (v == null ? Nothing() : Just(v)))\n\n// TODO can be moved to a separate module to speed up app start\nexport const registerWindowResize = ({ store, actionName }) => {\n const changeScreenSize = win => ({\n type: actionName,\n payload: {\n width: win.innerWidth,\n height: win.innerHeight,\n },\n })\n\n if (window) {\n //* * need to de bounce this event***/\n /* eslint-disable no-console */\n console.log('registering window size....')\n const windowSizeListener = debounce(e => store.dispatch(changeScreenSize(e.target)), 300)\n window.addEventListener('resize', windowSizeListener)\n store.dispatch(changeScreenSize(window))\n /* eslint-enable no-console */\n }\n}\n\n/** redux tools */\nexport const createSimpleReducer = ({ defaultState, initialState, actionName }) => (\n state = initialState || defaultState || [],\n action\n) => {\n switch (action.type) {\n case actionName:\n return action.payload\n }\n return state\n}\n"]}
\No newline at end of file