feat: close application architecture gaps
This commit is contained in:
@@ -1173,6 +1173,7 @@ export const REACTIVE_RUNTIME = String.raw`
|
||||
* lacks one of these does not break the rest.
|
||||
*/
|
||||
if (name === "toast") return toastApi;
|
||||
if (name === "useFetch") return useFetch;
|
||||
if (boundWindowGlobals[name] && typeof window[name] === "function") {
|
||||
return window[name].bind(window);
|
||||
}
|
||||
@@ -4350,6 +4351,29 @@ export const REACTIVE_RUNTIME = String.raw`
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Public client transport for dynamic API paths.
|
||||
*
|
||||
* The apis block remains the typed, declarative choice for fixed routes. This
|
||||
* helper covers paths assembled at runtime without exposing a private
|
||||
* framework global to application code.
|
||||
*/
|
||||
function useFetch(path, methodOrOptions, input) {
|
||||
var method = "GET";
|
||||
var values = input;
|
||||
if (typeof methodOrOptions === "string") {
|
||||
method = methodOrOptions;
|
||||
} else if (methodOrOptions && typeof methodOrOptions === "object") {
|
||||
method = methodOrOptions.method || "GET";
|
||||
values = method === "GET" || method === "HEAD"
|
||||
? (methodOrOptions.query || methodOrOptions.params)
|
||||
: (methodOrOptions.body === undefined ? methodOrOptions.data : methodOrOptions.body);
|
||||
}
|
||||
return wrnexusCallApi(path, method, values);
|
||||
}
|
||||
|
||||
window.useFetch = useFetch;
|
||||
// Compatibility for applications compiled before the public helper landed.
|
||||
window.__wrnexusCallApi = wrnexusCallApi;
|
||||
|
||||
function dispatchComponentEvent(root, name, detail) {
|
||||
|
||||
Reference in New Issue
Block a user