UNPKG

3.59 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/utils/parseExtra.js"],"names":["parseButton","button","text","callbackData","callback_data","url","type","URL","pathname","searchParams","params","URLSearchParams","forEach","value","key","title","replace","match","parseExtra","keyboard","parsedButtons","likes","buttons","parsedButton","disslike","like","push","unshift"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAAY;AAC9B,MAAQC,IAAR,GAAmDD,MAAnD,CAAQC,IAAR;AAAA,MAA6BC,YAA7B,GAAmDF,MAAnD,CAAcG,aAAd;AAAA,MAA2CC,GAA3C,GAAmDJ,MAAnD,CAA2CI,GAA3C;;AACA,MAAIA,GAAJ,EAAS;AACP,WAAO;AACLC,MAAAA,IAAI,EAAE,QADD;AAELJ,MAAAA,IAAI,EAAJA;AAFK,KAAP;AAID;;AACD,aAAwC,IAAIK,GAAJ,wBAAwBJ,YAAxB,EAAxC;AAAA,MAAQK,QAAR,QAAQA,QAAR;AAAA,+BAAkBC,YAAlB;AAAA,MAAkBA,YAAlB,kCAAiC,EAAjC;;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAIC,eAAJ,CAAoBF,YAApB,EAAkCG,OAAlC,CAA0C,UAACC,KAAD,EAAQC,GAAR,EAAgB;AACxDJ,IAAAA,MAAM,CAACI,GAAD,CAAN,GAAcD,KAAd;AACD,GAFD;;AAIA,MAAIL,QAAQ,KAAK,gBAAjB,EAAmC;AACjC,WAAO;AACLF,MAAAA,IAAI,EAAE,QADD;AAELJ,MAAAA,IAAI,EAAJA;AAFK,KAAP;AAID;;AACD,MAAIM,QAAQ,KAAK,gBAAjB,EAAmC;AACjC,WAAO;AACLF,MAAAA,IAAI,EAAE,QADD;AAELJ,MAAAA,IAAI,EAAJA;AAFK,KAAP;AAID;;AACD,MAAIM,QAAQ,KAAK,cAAjB,EAAiC;AAC/B,QAAQF,IAAR,GAAiBI,MAAjB,CAAQJ,IAAR;AACA,gDACGA,IADH,EACU;AACNS,MAAAA,KAAK,EAAEb,IAAI,CAACc,OAAL,CAAa,OAAb,EAAsB,EAAtB,CADD;AAENH,MAAAA,KAAK,EAAEX,IAAI,CAACe,KAAL,CAAW,MAAX;AAFD,KADV;AAMD;;AACD,SAAO,EAAP;AACD,CApCD;;AAsCe,SAASC,UAAT,CAAoBC,QAApB,EAA8B;AAC3C,MAAMC,aAAa,GAAG,EAAtB;AACA,MAAMC,KAAK,GAAG;AAAEf,IAAAA,IAAI,EAAE,MAAR;AAAgBgB,IAAAA,OAAO,EAAE;AAAzB,GAAd;AAEA,+BAAYH,QAAZ,EAAsBP,OAAtB,CAA8B,UAACX,MAAD,EAAY;AACxC,QAAMsB,YAAY,GAAGvB,WAAW,CAACC,MAAD,CAAhC;AACA,QAAQuB,QAAR,GAAiCD,YAAjC,CAAQC,QAAR;AAAA,QAAkBC,IAAlB,GAAiCF,YAAjC,CAAkBE,IAAlB;AAAA,QAAwBnB,IAAxB,GAAiCiB,YAAjC,CAAwBjB,IAAxB;AAEA,QAAImB,IAAJ,EAAUJ,KAAK,CAACC,OAAN,CAAcG,IAAd,GAAqBF,YAAY,CAACE,IAAlC;AACV,QAAID,QAAJ,EAAcH,KAAK,CAACC,OAAN,CAAcE,QAAd,GAAyBD,YAAY,CAACC,QAAtC;AACd,QAAIlB,IAAJ,EAAUc,aAAa,CAACM,IAAd,CAAmBH,YAAnB;AACX,GAPD;AASA,MAAI,CAAC,yBAAQF,KAAK,CAACC,OAAd,CAAL,EAA6BF,aAAa,CAACO,OAAd,CAAsBN,KAAtB;AAC7B,SAAOD,aAAP;AACD","sourcesContent":["import flattenDeep from 'lodash/flattenDeep';\nimport isEmpty from 'lodash/isEmpty';\n\nconst parseButton = (button) => {\n const { text, callback_data: callbackData, url } = button;\n if (url) {\n return {\n type: 'sender',\n text,\n };\n }\n const { pathname, searchParams = {} } = new URL(`www://test.ru${callbackData}`);\n const params = {};\n new URLSearchParams(searchParams).forEach((value, key) => {\n params[key] = value;\n });\n\n if (pathname === '/portal_answer') {\n return {\n type: 'answer',\n text,\n };\n }\n if (pathname === '/portal_sender') {\n return {\n type: 'sender',\n text,\n };\n }\n if (pathname === '/portal_like') {\n const { type } = params;\n return {\n [type]: {\n title: text.replace(/ \\d*$/, ''),\n value: text.match(/\\d*$/),\n },\n };\n }\n return {};\n};\n\nexport default function parseExtra(keyboard) {\n const parsedButtons = [];\n const likes = { type: 'like', buttons: {} };\n\n flattenDeep(keyboard).forEach((button) => {\n const parsedButton = parseButton(button);\n const { disslike, like, type } = parsedButton;\n\n if (like) likes.buttons.like = parsedButton.like;\n if (disslike) likes.buttons.disslike = parsedButton.disslike;\n if (type) parsedButtons.push(parsedButton);\n });\n\n if (!isEmpty(likes.buttons)) parsedButtons.unshift(likes);\n return parsedButtons;\n}\n"],"file":"parseExtra.js"}
\No newline at end of file