UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 2.25 kB
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-attrs/index.ts"],"sourcesContent":["import { computed, getCurrentInstance } from 'vue'\nimport { fromPairs } from 'lodash-unified'\nimport { debugWarn } from '@element-plus/utils'\n\nimport type { ComputedRef } from 'vue'\n\ninterface Params {\n excludeListeners?: boolean\n excludeKeys?: ComputedRef<string[]>\n}\n\nconst DEFAULT_EXCLUDE_KEYS = ['class', 'style']\nconst LISTENER_PREFIX = /^on[A-Z]/\n\nexport const useAttrs = (\n params: Params = {}\n): ComputedRef<Record<string, unknown>> => {\n const { excludeListeners = false, excludeKeys } = params\n const allExcludeKeys = computed<string[]>(() => {\n return (excludeKeys?.value || []).concat(DEFAULT_EXCLUDE_KEYS)\n })\n\n const instance = getCurrentInstance()\n if (!instance) {\n debugWarn(\n 'use-attrs',\n 'getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function'\n )\n return computed(() => ({}))\n }\n\n return computed(() =>\n fromPairs(\n Object.entries(instance.proxy?.$attrs!).filter(\n ([key]) =>\n !allExcludeKeys.value.includes(key) &&\n !(excludeListeners && LISTENER_PREFIX.test(key))\n )\n )\n )\n}\n"],"names":[],"mappings":";;;;AAWA,MAAM,oBAAA,GAAuB,CAAC,OAAA,EAAS,OAAO,CAAA,CAAA;AAC9C,MAAM,eAAkB,GAAA,UAAA,CAAA;AAEjB,MAAM,QAAW,GAAA,CACtB,MAAiB,GAAA,EACwB,KAAA;AACzC,EAAA,MAAM,EAAE,gBAAA,GAAmB,KAAO,EAAA,WAAA,EAAgB,GAAA,MAAA,CAAA;AAClD,EAAM,MAAA,cAAA,GAAiB,SAAmB,MAAM;AAC9C,IAAA,OAAA,CAAA,CAAQ,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,KAAA,KAAS,EAAC,EAAG,OAAO,oBAAoB,CAAA,CAAA;AAAA,GAC9D,CAAA,CAAA;AAED,EAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,EAAA,IAAI,CAAC,QAAU,EAAA;AACb,IAAA,SAAA;AAAA,MACE,WAAA;AAAA,MACA,8FAAA;AAAA,KACF,CAAA;AACA,IAAO,OAAA,QAAA,CAAS,OAAO,EAAG,CAAA,CAAA,CAAA;AAAA,GAC5B;AAEA,EAAO,OAAA,QAAA;AAAA,IAAS,MAAG;AA/BrB,MAAA,IAAA,EAAA,CAAA;AAgCI,MAAA,OAAA,SAAA;AAAA,QACE,OAAO,OAAQ,CAAA,CAAA,EAAA,GAAA,QAAA,CAAS,KAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgB,MAAO,CAAE,CAAA,MAAA;AAAA,UACtC,CAAC,CAAC,GAAG,CAAA,KACH,CAAC,cAAe,CAAA,KAAA,CAAM,QAAS,CAAA,GAAG,CAClC,IAAA,EAAE,gBAAoB,IAAA,eAAA,CAAgB,KAAK,GAAG,CAAA,CAAA;AAAA,SAClD;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GACF,CAAA;AACF;;;;"}