import { IVendorPrefix } from './types'; /** * browser - vendorPrefix 반환 * @memberof module:browser * @see https://davidwalsh.name/vendor-prefix * @function * @return {IVendorPrefix} * @example import { vendorPrefix } from '@nonoll/code-snippet/browser'; console.log(vendorPrefix()); // {dom: "Webkit", lowercase: "webkit", css: "-webkit-", js: "Webkit"} */ export const vendorPrefix = (): IVendorPrefix => { const styles = window.getComputedStyle(window.document.documentElement, ''); // tslint:disable-next-line: max-line-length const pre = (Array.from(styles).join('').match(/-(moz|webkit|ms)-/) || /* istanbul ignore next */ ((styles as any).OLink === '' && ['', 'o']))[1]; const dom = ('Webkit|Moz|MS|O').match(new RegExp(`(${pre})`, 'i'))[1]; return { dom, lowercase: pre, css: `-${pre}-`, js: pre[0].toUpperCase() + pre.substr(1) }; };