UNPKG

material-ui-popup-state

Version:

easiest way to create menus, popovers, and poppers with material-ui

2 lines (1 loc) 2.81 kB
{"version":3,"file":"chainEventHandlers.mjs","names":["chainEventHandlers","first","rest","result","obj","key","value","prev","args"],"sources":["src/chainEventHandlers.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\nexport function chainEventHandlers<T1 extends {}, T2 extends {}>(\n t1: T1,\n t2: T2\n): T1 & T2\nexport function chainEventHandlers<T1 extends {}, T2 extends {}, T3 extends {}>(\n t1: T1,\n t2: T2,\n t3: T3\n): T1 & T2 & T3\nexport function chainEventHandlers<\n T1 extends {},\n T2 extends {},\n T3 extends {},\n T4 extends {}\n>(t1: T1, t2: T2, t3: T3, t4: T4): T1 & T2 & T3 & T4\nexport function chainEventHandlers<\n T1 extends {},\n T2 extends {},\n T3 extends {},\n T4 extends {},\n T5 extends {}\n>(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): T1 & T2 & T3 & T4 & T5\nexport function chainEventHandlers<\n T1 extends {},\n T2 extends {},\n T3 extends {},\n T4 extends {},\n T5 extends {},\n T6 extends {}\n>(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6): T1 & T2 & T3 & T4 & T5 & T6\nexport function chainEventHandlers<\n T1 extends {},\n T2 extends {},\n T3 extends {},\n T4 extends {},\n T5 extends {},\n T6 extends {},\n T7 extends {}\n>(\n t1: T1,\n t2: T2,\n t3: T3,\n t4: T4,\n t5: T5,\n t6: T6,\n t7: T7\n): T1 & T2 & T3 & T4 & T5 & T6 & T7\nexport function chainEventHandlers<\n T1 extends {},\n T2 extends {},\n T3 extends {},\n T4 extends {},\n T5 extends {},\n T6 extends {},\n T7 extends {},\n T8 extends {}\n>(\n t1: T1,\n t2: T2,\n t3: T3,\n t4: T4,\n t5: T5,\n t6: T6,\n t7: T7,\n t8: T8\n): T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8\nexport function chainEventHandlers(\n first: Record<string, any>,\n ...rest: Record<string, any>[]\n): Record<string, any> {\n const result: Record<string, any> = { ...first }\n for (const obj of rest) {\n for (const key in obj) {\n const value = obj[key]\n const prev = result[key]\n if (typeof prev === 'function' && typeof value === 'function') {\n result[key] = (...args: any[]) => {\n prev(...args)\n return value(...args)\n }\n } else {\n result[key] = value\n }\n }\n }\n return result\n}\n"],"mappings":"AAAA;;AAmEA,OAAO,SAASA,kBAAkBA,CAChCC,KAA0B,EAC1B,GAAGC,IAA2B,EACT;EACrB,MAAMC,MAA2B,GAAG;IAAE,GAAGF;EAAM,CAAC;EAChD,KAAK,MAAMG,GAAG,IAAIF,IAAI,EAAE;IACtB,KAAK,MAAMG,GAAG,IAAID,GAAG,EAAE;MACrB,MAAME,KAAK,GAAGF,GAAG,CAACC,GAAG,CAAC;MACtB,MAAME,IAAI,GAAGJ,MAAM,CAACE,GAAG,CAAC;MACxB,IAAI,OAAOE,IAAI,KAAK,UAAU,IAAI,OAAOD,KAAK,KAAK,UAAU,EAAE;QAC7DH,MAAM,CAACE,GAAG,CAAC,GAAG,CAAC,GAAGG,IAAW,KAAK;UAChCD,IAAI,CAAC,GAAGC,IAAI,CAAC;UACb,OAAOF,KAAK,CAAC,GAAGE,IAAI,CAAC;QACvB,CAAC;MACH,CAAC,MAAM;QACLL,MAAM,CAACE,GAAG,CAAC,GAAGC,KAAK;MACrB;IACF;EACF;EACA,OAAOH,MAAM;AACf","ignoreList":[]}