Skip to main content

WebRemote

Extends

  • AbstractRemote

Constructors

Constructor

new WebRemote(connector, logger): WebRemote;

Parameters

ParameterType
connectorRemoteConnector
loggerPowerSyncLogger

Returns

WebRemote

Overrides

AbstractRemote.constructor

Properties

PropertyModifierTypeInherited from
loggerreadonlyPowerSyncLoggerAbstractRemote.logger

Methods

createSocket()

createSocket(url): WebSocket;

Parameters

ParameterType
urlstring

Returns

WebSocket

Inherited from

AbstractRemote.createSocket

createTextDecoder()

createTextDecoder(): TextDecoder;

Returns

TextDecoder

A text decoder decoding UTF-8. This is a method to allow patching it for Hermes which doesn't support the builtin, without forcing us to bundle a polyfill with @powersync/common.

Inherited from

AbstractRemote.createTextDecoder

fetchAndDecodeJson()

fetchAndDecodeJson(__namedParameters): Promise<any>;

Parameters

ParameterType
__namedParameters{ body?: string; headers?: Record<string, string>; method?: string; path: string; signal?: AbortSignal; }
__namedParameters.body?string
__namedParameters.headers?Record<string, string>
__namedParameters.method?string
__namedParameters.pathstring
__namedParameters.signal?AbortSignal

Returns

Promise<any>

Inherited from

AbstractRemote.fetchAndDecodeJson

fetchCredentials()

fetchCredentials(): Promise<PowerSyncCredentials | null>;

Get credentials for PowerSync.

This should always fetch a fresh set of credentials - don't use cached values.

Returns

Promise<PowerSyncCredentials | null>

Inherited from

AbstractRemote.fetchCredentials

fetchStream()

fetchStream(options): Promise<SimpleAsyncIterator<string | Uint8Array<ArrayBufferLike>>>;

Posts a /sync/stream request.

Depending on the Content-Type of the response, this returns strings for sync lines or encoded BSON documents as Uint8Arrays.

Parameters

ParameterType
optionsSyncStreamOptions

Returns

Promise<SimpleAsyncIterator<string | Uint8Array<ArrayBufferLike>>>

Inherited from

AbstractRemote.fetchStream

getCredentials()

getCredentials(): Promise<PowerSyncCredentials | null>;

Get credentials currently cached, or fetch new credentials if none are available.

These credentials may have expired already.

Returns

Promise<PowerSyncCredentials | null>

Inherited from

AbstractRemote.getCredentials

getUserAgent()

getUserAgent(): string;

Returns

string

Overrides

AbstractRemote.getUserAgent

invalidateCredentials()

invalidateCredentials(): void;

Immediately invalidate credentials.

This may be called when the current credentials have expired.

Returns

void

Inherited from

AbstractRemote.invalidateCredentials

prefetchCredentials()

prefetchCredentials(): Promise<PowerSyncCredentials | null>;

Fetch a new set of credentials and cache it.

Until this call succeeds, getCredentials will still return the old credentials.

This may be called before the current credentials have expired.

Returns

Promise<PowerSyncCredentials | null>

Inherited from

AbstractRemote.prefetchCredentials

socketStreamRaw()

socketStreamRaw(options): Promise<SimpleAsyncIterator<Uint8Array<ArrayBufferLike>>>;

Returns a data stream of sync line data, fetched via RSocket-over-WebSocket.

The only mechanism to abort the returned stream is to use the abort signal in SocketSyncStreamOptions.

Parameters

ParameterType
optionsSocketSyncStreamOptions

Returns

Promise<SimpleAsyncIterator<Uint8Array<ArrayBufferLike>>>

Inherited from

AbstractRemote.socketStreamRaw