Merged in feat/common-package (pull request #2333)
feat: Add common package * Add isEdge, safeTry and dataCache to new common package * Add eslint and move prettier config * Fix yarn lock * Clean up tests * Add lint-staged config to common * Add missing dependencies Approved-by: Joakim Jäderberg
This commit is contained in:
3
packages/common/utils/isEdge.ts
Normal file
3
packages/common/utils/isEdge.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export const isEdge =
|
||||
typeof (global as any).EdgeRuntime !== "undefined" ||
|
||||
typeof (global as any).Deno !== "undefined"
|
||||
11
packages/common/utils/safeTry.ts
Normal file
11
packages/common/utils/safeTry.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
export type SafeTryResult<T> = Promise<
|
||||
[T, undefined] | [undefined, Error | unknown]
|
||||
>
|
||||
|
||||
export async function safeTry<T>(func: Promise<T>): SafeTryResult<T> {
|
||||
try {
|
||||
return [await func, undefined]
|
||||
} catch (err) {
|
||||
return [undefined, err]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user