Add: Success / Error object utils
This commit is contained in:
parent
7238d057b5
commit
25324d17a8
58
src/lib/util.server.js
Normal file
58
src/lib/util.server.js
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
import { fail } from "@sveltejs/kit";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {import("$types/status").Error} error
|
||||||
|
* @returns {import("@sveltejs/kit").ActionFailure<import("$types/status").Error>}
|
||||||
|
*/
|
||||||
|
export function errorToFail(error) {
|
||||||
|
if (error.expected) {
|
||||||
|
return fail(400, error);
|
||||||
|
}
|
||||||
|
return fail(500, error);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {any} result
|
||||||
|
* @returns {import("$types/status").Error | null}
|
||||||
|
*/
|
||||||
|
export function getError(result) {
|
||||||
|
if ('error' in result) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {any} result
|
||||||
|
* @returns {import("$types/status").Success | null}
|
||||||
|
*/
|
||||||
|
export function getSuccess(result) {
|
||||||
|
if ('success' in result) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @template T
|
||||||
|
* @param {any} result
|
||||||
|
* @param {function(import("$types/status").Error): T} callback
|
||||||
|
* @returns {T | undefined}
|
||||||
|
*/
|
||||||
|
export function runIfError(result, callback) {
|
||||||
|
if ('error' in result) {
|
||||||
|
return callback(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @template T
|
||||||
|
* @param {any} result
|
||||||
|
* @param {function(import("$types/status").Success): T} callback
|
||||||
|
* @returns {T | undefined}
|
||||||
|
*/
|
||||||
|
export function runIfSuccess(result, callback) {
|
||||||
|
if ('success' in result) {
|
||||||
|
return callback(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user