export default { props: { proxy: Object, }, created: function () { // custom service often consume info from an API using the item link (url) as a base url, // but sometimes the base url is different. An optional alternative URL can be provided with the "endpoint" key. this.endpoint = this.item.endpoint || this.item.url; }, methods: { fetch: function (path, init) { let options = {}; if (this.proxy?.useCredentials) { options.credentials = "include"; } options = Object.assign(options, init); return fetch(`${this.endpoint}/${path}`, options).then((response) => { if (!response.ok) { throw new Error("Not 2xx response"); } return response.json(); }); }, }, };