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