cleanup(js): remove unused utils
This commit is contained in:
parent
59c6fd1763
commit
12884e0242
1 changed files with 0 additions and 76 deletions
|
@ -60,40 +60,6 @@ export function delegate<E extends Event = Event>(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// A promise-based wrapper for Rails.ajax().
|
|
||||||
//
|
|
||||||
// Returns a Promise that is either:
|
|
||||||
// - resolved in case of a 20* HTTP response code,
|
|
||||||
// - rejected with an Error object otherwise.
|
|
||||||
//
|
|
||||||
// See Rails.ajax() code for more details.
|
|
||||||
export function ajax(options: Rails.AjaxOptions) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
Object.assign(options, {
|
|
||||||
success: (
|
|
||||||
response: unknown,
|
|
||||||
statusText: string,
|
|
||||||
xhr: { status: number }
|
|
||||||
) => {
|
|
||||||
resolve({ response, statusText, xhr });
|
|
||||||
},
|
|
||||||
error: (
|
|
||||||
response: unknown,
|
|
||||||
statusText: string,
|
|
||||||
xhr: { status: number }
|
|
||||||
) => {
|
|
||||||
// NB: on HTTP/2 connections, statusText is always empty.
|
|
||||||
const error = new Error(
|
|
||||||
`Erreur ${xhr.status}` + (statusText ? ` : ${statusText}` : '')
|
|
||||||
);
|
|
||||||
Object.assign(error, { response, statusText, xhr });
|
|
||||||
reject(error);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Rails.ajax(options);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export class ResponseError extends Error {
|
export class ResponseError extends Error {
|
||||||
response: Response;
|
response: Response;
|
||||||
|
|
||||||
|
@ -119,10 +85,6 @@ const FETCH_TIMEOUT = 30 * 1000; // 30 sec
|
||||||
// Execute a GET request, and apply the Turbo stream in the Response
|
// Execute a GET request, and apply the Turbo stream in the Response
|
||||||
// await httpRequest(url).turbo();
|
// await httpRequest(url).turbo();
|
||||||
//
|
//
|
||||||
// Execute a GET request, and interpret the JavaScript code in the Response
|
|
||||||
// DEPRECATED: Don't use this in new code; instead let the server respond with a turbo stream
|
|
||||||
// await httpRequest(url).js();
|
|
||||||
//
|
|
||||||
export function httpRequest(
|
export function httpRequest(
|
||||||
url: string,
|
url: string,
|
||||||
{
|
{
|
||||||
|
@ -199,19 +161,6 @@ export function httpRequest(
|
||||||
const stream = await response.text();
|
const stream = await response.text();
|
||||||
session.renderStreamMessage(stream);
|
session.renderStreamMessage(stream);
|
||||||
}
|
}
|
||||||
},
|
|
||||||
async js(): Promise<void> {
|
|
||||||
const response = await request(init, 'text/javascript');
|
|
||||||
if (response.status != 204) {
|
|
||||||
const script = document.createElement('script');
|
|
||||||
const nonce = cspNonce();
|
|
||||||
if (nonce) {
|
|
||||||
script.setAttribute('nonce', nonce);
|
|
||||||
}
|
|
||||||
script.text = await response.text();
|
|
||||||
document.head.appendChild(script);
|
|
||||||
document.head.removeChild(script);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -234,18 +183,6 @@ export function scrollToBottom(container: HTMLElement) {
|
||||||
container.scrollTop = container.scrollHeight;
|
container.scrollTop = container.scrollHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function on(
|
|
||||||
selector: string,
|
|
||||||
eventName: string,
|
|
||||||
fn: (event: Event, detail: unknown) => void
|
|
||||||
) {
|
|
||||||
[...document.querySelectorAll(selector)].forEach((element) =>
|
|
||||||
element.addEventListener(eventName, (event) =>
|
|
||||||
fn(event, (event as CustomEvent).detail)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function isNumeric(s: string) {
|
export function isNumeric(s: string) {
|
||||||
const n = parseFloat(s);
|
const n = parseFloat(s);
|
||||||
return !isNaN(n) && isFinite(n);
|
return !isNaN(n) && isFinite(n);
|
||||||
|
@ -258,16 +195,3 @@ function offset(element: HTMLElement) {
|
||||||
left: rect.left + document.body.scrollLeft
|
left: rect.left + document.body.scrollLeft
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Takes a promise, and return a promise that times out after the given delay.
|
|
||||||
export function timeoutable<T>(
|
|
||||||
promise: Promise<T>,
|
|
||||||
timeoutDelay: number
|
|
||||||
): Promise<T> {
|
|
||||||
const timeoutPromise = new Promise<T>((resolve, reject) => {
|
|
||||||
setTimeout(() => {
|
|
||||||
reject(new Error(`Promise timed out after ${timeoutDelay}ms`));
|
|
||||||
}, timeoutDelay);
|
|
||||||
});
|
|
||||||
return Promise.race([promise, timeoutPromise]);
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue