vue-condition-watcher
Version:
Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions
27 lines (26 loc) • 1.1 kB
JavaScript
export function containsProp(obj, ...props) {
if (!isObject(obj))
return false;
return props.some((k) => k in obj);
}
const STR_UNDEFINED = 'undefined';
export const hasWindow = () => typeof window != STR_UNDEFINED;
export const hasDocument = () => typeof document != STR_UNDEFINED;
export const isDocumentVisibility = () => hasDocument() && document.visibilityState === 'visible';
export const hasRequestAnimationFrame = () => hasWindow() && typeof window['requestAnimationFrame'] != STR_UNDEFINED;
export const isNil = (val) => val === null || val === undefined;
export const isObject = (val) => val !== null && typeof val === 'object';
export const isServer = !hasWindow();
export const rAF = (f) => hasRequestAnimationFrame() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);
export const isNoData = (data) => {
if (typeof data === 'string' || Array.isArray(data)) {
return data.length === 0;
}
if ([null, undefined].includes(data)) {
return false;
}
if (isObject(data)) {
return Object.keys.length === 0;
}
return !data;
};