refun
Version:
A collection of React Hook-enabled functions that compose harmoniously with each other. Similar to `recompose`, but:
1 lines • 1.07 kB
Source Map (JSON)
{"version":3,"sources":["map-default-props.ts"],"names":["UNDEFINED","mapDefaultProps","defaultProps","props","mergedProps","key"],"mappings":"AAAA,SAASA,SAAT,QAA0B,MAA1B;AAGA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAA4CC,YAA5C;AAAA,SAC7B,UAACC,KAAD,EAAuC;AACrC,QAAMC,WAAW,qBAAQD,KAAR,CAAjB,CADqC,CAGrC;;AACA,SAAK,IAAME,GAAX,IAAkBH,YAAlB,EAAgC;AAC9B,UAAIC,KAAK,CAACE,GAAD,CAAL,KAAeL,SAAnB,EAA8B;AAC5BI,QAAAA,WAAW,CAACC,GAAD,CAAX,GAAmBH,YAAY,CAACG,GAAD,CAA/B;AACD;AACF;;AAED,WAAOD,WAAP;AACD,GAZ4B;AAAA,CAAxB","sourcesContent":["import { UNDEFINED } from 'tsfn'\nimport type { TOptionalKeys } from 'tsfn'\n\nexport const mapDefaultProps = <P extends {}, K extends TOptionalKeys<P>> (defaultProps: { [k in K]: Exclude<P[k], undefined> }) =>\n (props: P): P & typeof defaultProps => {\n const mergedProps = { ...props } as any\n\n // eslint-disable-next-line guard-for-in\n for (const key in defaultProps) {\n if (props[key] === UNDEFINED) {\n mergedProps[key] = defaultProps[key]\n }\n }\n\n return mergedProps\n }\n"],"file":"map-default-props.js"}