mirror of
https://github.com/zadam/trilium.git
synced 2025-11-18 06:24:30 +01:00
33 lines
858 B
TypeScript
33 lines
858 B
TypeScript
export function formatLogMessage(message: string | object) {
|
|
if (typeof message === "object") {
|
|
try {
|
|
return JSON.stringify(message, null, 4);
|
|
} catch (e) {
|
|
return message.toString();
|
|
}
|
|
}
|
|
|
|
return message;
|
|
}
|
|
|
|
export interface DeferredPromise<T> extends Promise<T> {
|
|
resolve: (value: T | PromiseLike<T>) => void;
|
|
reject: (reason?: any) => void;
|
|
}
|
|
|
|
export function deferred<T>(): DeferredPromise<T> {
|
|
return (() => {
|
|
let resolve!: (value: T | PromiseLike<T>) => void;
|
|
let reject!: (reason?: any) => void;
|
|
|
|
let promise = new Promise<T>((res, rej) => {
|
|
resolve = res;
|
|
reject = rej;
|
|
}) as DeferredPromise<T>;
|
|
|
|
promise.resolve = resolve;
|
|
promise.reject = reject;
|
|
return promise as DeferredPromise<T>;
|
|
})();
|
|
}
|