UNPKG

2.95 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/utils/index.js"],"names":["fromEmpty","val","chain","v","registerWindowResize","store","actionName","diff","changeScreenSize","win","type","payload","width","innerWidth","height","innerHeight","window","console","log","windowSizeListener","e","dispatch","target","addEventListener","createSimpleReducer","defaultState","initialState","state","action"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEO,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAAAC,GAAG;AAAA,SAAI,wBAAaA,GAAb,EAAkBC,KAAlB,CAAwB,UAAAC,CAAC;AAAA,WAAKA,CAAC,IAAI,IAAL,GAAY,oBAAZ,GAAwB,gBAAKA,CAAL,CAA7B;AAAA,GAAzB,CAAJ;AAAA,CAArB,C,CAEP;AACA;;;;;AACO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAAqC;AAAA,MAAlCC,KAAkC,QAAlCA,KAAkC;AAAA,MAA3BC,UAA2B,QAA3BA,UAA2B;AAAA,uBAAfC,IAAe;AAAA,MAAfA,IAAe,0BAAR,CAAQ;;AACvE,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,GAAG;AAAA,WAAK;AAC/BC,MAAAA,IAAI,EAAEJ,UADyB;AAE/BK,MAAAA,OAAO,EAAE;AACPC,QAAAA,KAAK,EAAEH,GAAG,CAACI,UADJ;AAEPC,QAAAA,MAAM,EAAEL,GAAG,CAACM,WAAJ,GAAkBR;AAFnB;AAFsB,KAAL;AAAA,GAA5B;;AAQA,MAAIS,MAAJ,EAAY;AACV;;AACA;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAY,6BAAZ;AACA,QAAMC,kBAAkB,GAAG,uBAAS,UAAAC,CAAC;AAAA,aAAIf,KAAK,CAACgB,QAAN,CAAeb,gBAAgB,CAACY,CAAC,CAACE,MAAH,CAA/B,CAAJ;AAAA,KAAV,EAA0D,GAA1D,CAA3B;AACAN,IAAAA,MAAM,CAACO,gBAAP,CAAwB,QAAxB,EAAkCJ,kBAAlC;AACAd,IAAAA,KAAK,CAACgB,QAAN,CAAeb,gBAAgB,CAACQ,MAAD,CAA/B;AACA;AACD;AACF,CAlBM;AAoBP;;;;;AACO,IAAMQ,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,MAAGC,YAAH,SAAGA,YAAH;AAAA,MAAiBC,YAAjB,SAAiBA,YAAjB;AAAA,MAA+BpB,UAA/B,SAA+BA,UAA/B;AAAA,SAAgD,YAG9E;AAAA,QAFHqB,KAEG,uEAFKD,YAAY,IAAID,YAAhB,IAAgC,EAErC;AAAA,QADHG,MACG;;AACH,YAAQA,MAAM,CAAClB,IAAf;AACE,WAAKJ,UAAL;AACE,eAAOsB,MAAM,CAACjB,OAAd;AAFJ;;AAIA,WAAOgB,KAAP;AACD,GATkC;AAAA,CAA5B","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\n// pass the difference of window height - screen height if needed\nexport const registerWindowResize = ({ store, actionName, diff = 0 }) => {\n const changeScreenSize = win => ({\n type: actionName,\n payload: {\n width: win.innerWidth,\n height: win.innerHeight - diff,\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"],"file":"index.js"}
\No newline at end of file