import { isString, isNull, isHTMLElement } from '../libs/mobius-utils' export const getDatasetValueFromElement = (target: string | HTMLElement, keyname: string): string | undefined => { if (!isString(target) && !isHTMLElement(target)) { throw (new TypeError('"target" is expected to be type of "String" | "HTMLElement".')) } let preparedDom: HTMLElement if (isString(target)) { const queried = document.querySelector(target) if (isNull(queried)) { throw (new Error(`Cannot find element by selector: ${target}`)) } else { preparedDom = queried as HTMLElement } } else { preparedDom = target } return preparedDom.dataset[keyname] }