UNPKG

@molecularlabs/nucleus-frontend

Version:
1 lines 783 B
{"version":3,"sources":["../../src/utils/try-catch.ts"],"sourcesContent":["type Success<T> = {\n success: true;\n data: T;\n error?: never;\n};\n\ntype Failure<E> = {\n success: false;\n data?: never;\n error: E;\n};\n\ntype SafeResult<T, E = Error> = Success<T> | Failure<E>;\n\nexport async function tryCatch<T, E = Error>(\n promise: Promise<T>\n): Promise<SafeResult<T, E>> {\n try {\n const data = await promise;\n return { data, error: undefined, success: true };\n } catch (error) {\n return { data: undefined, error: error as E, success: false };\n }\n}\n"],"mappings":"AAcA,eAAsB,SACpB,SAC2B;AAC3B,MAAI;AACF,UAAM,OAAO,MAAM;AACnB,WAAO,EAAE,MAAM,OAAO,QAAW,SAAS,KAAK;AAAA,EACjD,SAAS,OAAO;AACd,WAAO,EAAE,MAAM,QAAW,OAAmB,SAAS,MAAM;AAAA,EAC9D;AACF;","names":[]}