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(signal?): Promise<PowerSyncCredentials | null>;

Get credentials for PowerSync.

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

Parameters​

ParameterType
signal?AbortSignal

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(signal?): Promise<PowerSyncCredentials | null>;

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

These credentials may have expired already.

Parameters​

ParameterType
signal?AbortSignal

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(signal?): 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.

Parameters​

ParameterType
signal?AbortSignal

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