@powersync/react-native 1.35.1 → 1.35.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,11 @@
1
- import { AbstractRemote, AbstractRemoteOptions, ILogger, RemoteConnector, SyncStreamOptions } from '@powersync/common';
1
+ import { AbstractRemote, AbstractRemoteOptions, FetchImplementation, ILogger, RemoteConnector, SyncStreamOptions } from '@powersync/common';
2
2
  import { TextDecoder } from 'text-encoding';
3
3
  export declare const STREAMING_POST_TIMEOUT_MS = 30000;
4
4
  export declare class ReactNativeRemote extends AbstractRemote {
5
5
  protected connector: RemoteConnector;
6
6
  protected logger: ILogger;
7
7
  constructor(connector: RemoteConnector, logger?: ILogger, options?: Partial<AbstractRemoteOptions>);
8
+ get fetch(): FetchImplementation;
8
9
  getUserAgent(): string;
9
10
  createTextDecoder(): TextDecoder;
10
11
  protected get supportsStreamingBinaryResponses(): boolean;
@@ -24,6 +24,19 @@ export class ReactNativeRemote extends AbstractRemote {
24
24
  this.connector = connector;
25
25
  this.logger = logger;
26
26
  }
27
+ get fetch() {
28
+ const fetchImplementation = super.fetch;
29
+ return ((input, init) => {
30
+ const options = (init ?? {});
31
+ return fetchImplementation(input, {
32
+ ...options,
33
+ reactNative: {
34
+ ...(options.reactNative ?? {}),
35
+ textStreaming: true
36
+ }
37
+ });
38
+ });
39
+ }
27
40
  getUserAgent() {
28
41
  return [
29
42
  super.getUserAgent(),
@@ -1 +1 @@
1
- {"version":3,"file":"ReactNativeRemote.js","sourceRoot":"","sources":["../../../src/sync/stream/ReactNativeRemote.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,qBAAqB,EAErB,2BAA2B,EAI5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEhD;;;;GAIG;AACH,MAAM,wBAAyB,SAAQ,2BAA2B;IAChE,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IAEvC;IACA;IAFZ,YACY,SAA0B,EAC1B,SAAkB,qBAAqB,EACjD,OAAwC;QAExC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE;YACvB,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClB,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,IAAI,IAAI,wBAAwB,EAAE;SACpF,CAAC,CAAC;QAPO,cAAS,GAAT,SAAS,CAAiB;QAC1B,WAAM,GAAN,MAAM,CAAiC;IAOnD,CAAC;IAED,YAAY;QACV,OAAO;YACL,KAAK,CAAC,YAAY,EAAE;YACpB,wBAAwB;YACxB,gBAAgB,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE;YAC5G,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE;SACrC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,IAAc,gCAAgC;QAC5C,6GAA6G;QAC7G,OAAO,KAAK,CAAC;IACf,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,OAA0B;QACvD,MAAM,OAAO,GACX,QAAQ,CAAC,EAAE,IAAI,SAAS;YACtB,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6CAA6C,IAAI,CAAC,IAAI,CACpD,yBAAyB,GAAG,IAAI,CACjC,gGAAgG,CAClG,CAAC;YACJ,CAAC,EAAE,yBAAyB,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC;gBAChC,GAAG,OAAO;gBACV,YAAY,EAAE;oBACZ,GAAG,OAAO,CAAC,YAAY;oBACvB;;;;uBAIG;oBACH,yFAAyF;oBACzF,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;iBACrC;aACF,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"ReactNativeRemote.js","sourceRoot":"","sources":["../../../src/sync/stream/ReactNativeRemote.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,qBAAqB,EAErB,2BAA2B,EAI5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAMhD;;;;GAIG;AACH,MAAM,wBAAyB,SAAQ,2BAA2B;IAChE,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IAEvC;IACA;IAFZ,YACY,SAA0B,EAC1B,SAAkB,qBAAqB,EACjD,OAAwC;QAExC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE;YACvB,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClB,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,IAAI,IAAI,wBAAwB,EAAE;SACpF,CAAC,CAAC;QAPO,cAAS,GAAT,SAAS,CAAiB;QAC1B,WAAM,GAAN,MAAM,CAAiC;IAOnD,CAAC;IAED,IAAI,KAAK;QACP,MAAM,mBAAmB,GAAG,KAAK,CAAC,KAAK,CAAC;QACxC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;YAExD,OAAO,mBAAmB,CAAC,KAAK,EAAE;gBAChC,GAAG,OAAO;gBACV,WAAW,EAAE;oBACX,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;oBAC9B,aAAa,EAAE,IAAI;iBACpB;aACa,CAAC,CAAC;QACpB,CAAC,CAAwB,CAAC;IAC5B,CAAC;IAED,YAAY;QACV,OAAO;YACL,KAAK,CAAC,YAAY,EAAE;YACpB,wBAAwB;YACxB,gBAAgB,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE;YAC5G,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE;SACrC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,IAAc,gCAAgC;QAC5C,6GAA6G;QAC7G,OAAO,KAAK,CAAC;IACf,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,OAA0B;QACvD,MAAM,OAAO,GACX,QAAQ,CAAC,EAAE,IAAI,SAAS;YACtB,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6CAA6C,IAAI,CAAC,IAAI,CACpD,yBAAyB,GAAG,IAAI,CACjC,gGAAgG,CAClG,CAAC;YACJ,CAAC,EAAE,yBAAyB,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC;gBAChC,GAAG,OAAO;gBACV,YAAY,EAAE;oBACZ,GAAG,OAAO,CAAC,YAAY;oBACvB;;;;uBAIG;oBACH,yFAAyF;oBACzF,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;iBACrC;aACF,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powersync/react-native",
3
- "version": "1.35.1",
3
+ "version": "1.35.3",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -26,7 +26,7 @@
26
26
  "homepage": "https://docs.powersync.com/",
27
27
  "peerDependencies": {
28
28
  "@journeyapps/react-native-quick-sqlite": "^2.5.2",
29
- "@powersync/common": "^1.53.1",
29
+ "@powersync/common": "^1.53.2",
30
30
  "react": "*",
31
31
  "react-native": "*"
32
32
  },
@@ -36,7 +36,7 @@
36
36
  }
37
37
  },
38
38
  "dependencies": {
39
- "@powersync/common": "1.53.1",
39
+ "@powersync/common": "1.53.2",
40
40
  "@powersync/react": "1.10.0"
41
41
  },
42
42
  "devDependencies": {
@@ -68,6 +68,7 @@
68
68
  "build": "tsc -b && rollup -c rollup.config.mjs",
69
69
  "build:prod": "tsc -b && rollup -c rollup.config.mjs",
70
70
  "clean": "rm -rf lib dist tsconfig.tsbuildinfo",
71
+ "test": "vitest --config vitest.config.ts",
71
72
  "watch": "tsc -b -w",
72
73
  "test:exports": "attw --pack ."
73
74
  }
@@ -15,6 +15,10 @@ import { fetch } from 'react-native-fetch-api';
15
15
 
16
16
  export const STREAMING_POST_TIMEOUT_MS = 30_000;
17
17
 
18
+ type ReactNativeFetchOptions = RequestInit & {
19
+ reactNative?: Record<string, unknown>;
20
+ };
21
+
18
22
  /**
19
23
  * Directly imports fetch implementation from react-native-fetch-api.
20
24
  * This removes the requirement for the global `fetch` to be overridden by
@@ -38,6 +42,21 @@ export class ReactNativeRemote extends AbstractRemote {
38
42
  });
39
43
  }
40
44
 
45
+ get fetch(): FetchImplementation {
46
+ const fetchImplementation = super.fetch;
47
+ return ((input, init) => {
48
+ const options = (init ?? {}) as ReactNativeFetchOptions;
49
+
50
+ return fetchImplementation(input, {
51
+ ...options,
52
+ reactNative: {
53
+ ...(options.reactNative ?? {}),
54
+ textStreaming: true
55
+ }
56
+ } as RequestInit);
57
+ }) as FetchImplementation;
58
+ }
59
+
41
60
  getUserAgent(): string {
42
61
  return [
43
62
  super.getUserAgent(),