const anchor_regex = /]*)href=['"]([^'"]+)['"]([^>]*)>/gi;
export function api(rel_path){
return `${location.protocol}//${location.host.replace('5173','8080')}/api/${rel_path}`;
}
export function get(url){
return fetch(url,{ credentials:'include' });
}
export function drop(url){
return fetch(url,{
credentials:'include',
method:'DELETE'
});
}
export function eventStream(createHandler,updateHandler,deleteHandler){
const es = new EventSource(api('bus'), {withCredentials: true});
if (createHandler) es.addEventListener('CREATE', createHandler);
if (updateHandler) es.addEventListener('UPDATE', updateHandler);
if (deleteHandler) es.addEventListener('DELETE', deleteHandler);
return es;
}
export function patch(url,data){
return fetch(url,{
credentials : 'include',
method : 'PATCH',
body : JSON.stringify(data)
});
}
export function post(url,data){
return fetch(url,{
credentials : 'include',
method : 'POST',
body : JSON.stringify(data)
});
}
export function target(code){
if (!code) return null;
let altered = code;
let match;
while(match = anchor_regex.exec(code)) {
const orig = match[0];
const href = match[2];
if (orig.includes('target=')) continue; // if there is already a target: skip
if (!href.includes('://')) continue; // if this is a relative path: skip
const anchor = '