tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 3.09 kB
Source Map (JSON)
{"version":3,"file":"useDefaultValue.mjs","sources":["../../src/hooks/useDefaultValue.ts"],"sourcesContent":["import { ref, Ref, getCurrentInstance } from 'vue';\nimport { kebabCase } from 'lodash-es';\n\ntype ChangeHandler<T, P extends any[]> = (value: T, ...args: P) => void;\n\nexport default function useDefaultValue<T, P extends any[]>(\n value: Ref<T>,\n defaultValue: T,\n onChange: ChangeHandler<T, P>,\n propsName: string,\n): [Ref<T>, ChangeHandler<T, P>] {\n const { emit, vnode } = getCurrentInstance();\n const internalValue: Ref<T> = ref();\n\n const vProps = vnode.props || {};\n const isVMP =\n Object.prototype.hasOwnProperty.call(vProps, propsName) ||\n Object.prototype.hasOwnProperty.call(vProps, kebabCase(propsName));\n\n if (isVMP) {\n return [\n value,\n (newValue, ...args) => {\n emit(`update:${propsName}`, newValue);\n onChange?.(newValue, ...args);\n },\n ];\n }\n\n internalValue.value = defaultValue;\n return [\n internalValue,\n (newValue, ...args) => {\n internalValue.value = newValue;\n onChange?.(newValue, ...args);\n },\n ];\n}\n"],"names":["useDefaultValue","value","defaultValue","onChange","propsName","_getCurrentInstance","getCurrentInstance","emit","vnode","internalValue","ref","vProps","props","isVMP","Object","prototype","hasOwnProperty","call","kebabCase","newValue","concat","_len","arguments","length","args","Array","_key","apply","_len2","_key2"],"mappings":";;;;;;;;;AAKA,SAAwBA,eACtBA,CAAAC,KAAA,EACAC,YACA,EAAAC,QAAA,EACAC,SAC+B,EAAA;AAC/B,EAAA,IAAAC,mBAAA,GAAwBC,kBAAmB,EAAA;IAAnCC,IAAA,GAAAF,mBAAA,CAAAE,IAAA;IAAMC,KAAM,GAAAH,mBAAA,CAANG,KAAM,CAAA;AACpB,EAAA,IAAMC,gBAAwBC,GAAI,EAAA,CAAA;AAE5B,EAAA,IAAAC,MAAA,GAASH,KAAM,CAAAI,KAAA,IAAS,EAAC,CAAA;AAC/B,EAAA,IAAMC,KACJ,GAAAC,MAAA,CAAOC,SAAU,CAAAC,cAAA,CAAeC,KAAKN,MAAQ,EAAAP,SAAS,CACtD,IAAAU,MAAA,CAAOC,UAAUC,cAAe,CAAAC,IAAA,CAAKN,MAAQ,EAAAO,SAAA,CAAUd,SAAS,CAAC,CAAA,CAAA;AAEnE,EAAA,IAAIS,KAAO,EAAA;AACF,IAAA,OAAA,CACLZ,KAAA,EACA,UAACkB,UAAsB;AAChBZ,MAAAA,IAAA,WAAAa,MAAA,CAAUhB,YAAae,QAAQ,CAAA,CAAA;MAAA,KAAAE,IAAAA,IAAA,GAAAC,SAAA,CAAAC,MAAA,EADxBC,IAAS,OAAAC,KAAA,CAAAJ,IAAA,GAAAA,CAAAA,GAAAA,IAAA,WAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAATF,QAAAA,IAAS,CAAAE,IAAA,GAAAJ,CAAAA,CAAAA,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,OAAA;AAEVvB,MAAAA,QAAA,KAAAA,IAAAA,IAAAA,QAAA,KAAAA,KAAAA,CAAAA,IAAAA,QAAA,CAAAwB,KAAA,CAAAR,KAAAA,CAAAA,EAAAA,CAAAA,QAAA,CAAAC,CAAAA,MAAA,CAAaI,IAAI,CAAA,CAAA,CAAA;AAC9B,KAAA,CACF,CAAA;AACF,GAAA;EAEAf,aAAA,CAAcR,KAAQ,GAAAC,YAAA,CAAA;AACf,EAAA,OAAA,CACLO,aAAA,EACA,UAACU,UAAsB;IACrBV,aAAA,CAAcR,KAAQ,GAAAkB,QAAA,CAAA;IAAA,KAAAS,IAAAA,KAAA,GAAAN,SAAA,CAAAC,MAAA,EADVC,IAAS,OAAAC,KAAA,CAAAG,KAAA,GAAAA,CAAAA,GAAAA,KAAA,WAAAC,KAAA,GAAA,CAAA,EAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,EAAA,EAAA;AAATL,MAAAA,IAAS,CAAAK,KAAA,GAAAP,CAAAA,CAAAA,GAAAA,SAAA,CAAAO,KAAA,CAAA,CAAA;AAAA,KAAA;AAEV1B,IAAAA,QAAA,KAAAA,IAAAA,IAAAA,QAAA,KAAAA,KAAAA,CAAAA,IAAAA,QAAA,CAAAwB,KAAA,CAAAR,KAAAA,CAAAA,EAAAA,CAAAA,QAAA,CAAAC,CAAAA,MAAA,CAAaI,IAAI,CAAA,CAAA,CAAA;AAC9B,GAAA,CACF,CAAA;AACF;;;;"}