import Vue from 'vue' import reject from 'lodash/reject' import isEmpty from 'lodash/isEmpty' import omit from 'lodash/omit' import './with_subscription.scss' const withSubscription = ({ fetch, // function to fetch entries and return a promise select, // function to select data from store childPropName = 'content' // name of the prop to be passed into the wrapped component }) => (WrappedComponent) => { const originalProps = WrappedComponent.props || [] const props = reject(originalProps, v => v === 'content') return Vue.component('withSubscription', { render (createElement) { const props = { props: { ...omit(this.$props, 'refresh'), [childPropName]: this.fetchedData }, on: this.$listeners } return (