- Consolidated duplicate UndoManagers to single instance - Fixed connection promise to only resolve on 'connected' status - Fixed WebSocketProvider import (WebsocketProvider) - Added proper doc.destroy() cleanup - Renamed isPresenceInitialized property to avoid conflict Co-Authored-By: Paperclip <noreply@paperclip.ing>
20 lines
555 B
TypeScript
20 lines
555 B
TypeScript
/** @internal */
|
|
export type PromiseWithResolvers<type> = {
|
|
promise: Promise<type>
|
|
resolve: (value: type | PromiseLike<type>) => void
|
|
reject: (reason?: unknown) => void
|
|
}
|
|
|
|
/** @internal */
|
|
export function withResolvers<type>(): PromiseWithResolvers<type> {
|
|
let resolve: PromiseWithResolvers<type>['resolve'] = () => undefined
|
|
let reject: PromiseWithResolvers<type>['reject'] = () => undefined
|
|
|
|
const promise = new Promise<type>((resolve_, reject_) => {
|
|
resolve = resolve_
|
|
reject = reject_
|
|
})
|
|
|
|
return { promise, resolve, reject }
|
|
}
|