@prose-reader/react-native 1.319.0 → 1.321.0

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,4 +1,4 @@
1
- import { Archive } from '@prose-reader/streamer';
1
+ import { Archive } from '@prose-reader/archive-reader';
2
2
  import { Directory } from 'expo-file-system/next';
3
3
  export declare const createArchiveFromExpoFileSystemNext: (directory: Directory, { orderByAlpha, name }?: {
4
4
  orderByAlpha?: boolean;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../shared-C6TEX07M.cjs");let t=require("@webview-bridge/react-native"),n=require("react"),r=require("@prose-reader/streamer"),i=require("expo-file-system/next"),a=require("react/jsx-runtime");var o=r=>{let i=e.t(r),[a]=(0,n.useState)(()=>(0,t.bridge)(({set:e})=>({pagination:void 0,setPagination:async t=>{e({pagination:t})},context:void 0,setContext:async t=>{e({context:t})},async getResource(e){return i.current.getResource(e)}})));return a},s=(0,t.postMessageSchema)({load:{validate:e=>e},turnRight:{validate:()=>{}},turnLeft:{validate:()=>{}}}),c=e=>{let[r,i]=(0,n.useState)(void 0),a=o(e),c=r?.postMessage;(0,n.useEffect)(()=>{a&&i((0,t.createWebView)({bridge:a,debug:!0,postMessageSchema:s}))},[a]);let l=(0,n.useCallback)(e=>{c?.(`load`,{manifest:e})},[c]);return r?{webviewBridge:r,ReaderWebView:r.WebView,appBridge:a,load:l}:null},l=async(e,{orderByAlpha:t,name:n}={})=>{let a=e.list();t&&(a=a.slice().sort((e,t)=>(0,r.sortByTitleComparator)(e.name,t.name)));let o=e=>e.list().reduce((e,t)=>t instanceof i.Directory?[...e,...o(t)]:[...e,t],[]);return(0,r.createArchive)({filename:n,records:a.reduce((e,t)=>t instanceof i.Directory?[...e,...o(t)]:[...e,t],[]).map(e=>e instanceof i.Directory?{dir:!0,basename:(0,r.getUriBasename)(e.name),uri:e.uri.replace(`file://`,``)}:{dir:!1,basename:(0,r.getUriBasename)(e.name),uri:e.uri.replace(`file://`,``),size:e.info().size??0,encodingFormat:e.type??void 0,...(0,r.blobFileAccessors)(async()=>new Blob([await e.arrayBuffer()]))}),close:()=>Promise.resolve()})},u=(0,n.createContext)(void 0),d=()=>{let e=(0,n.useContext)(u);if(!e)throw Error(`useProseReader must be used within a ProseReaderProvider`);return e},f=({children:e,reader:t})=>(0,a.jsx)(u.Provider,{value:t,children:e}),p=()=>{let{webviewBridge:e}=d(),{postMessage:t}=e;return{turnRight:()=>{t(`turnRight`,void 0)},turnLeft:()=>{t(`turnLeft`,void 0)}}},m=e=>{let{appBridge:n}=d();return(0,t.useBridge)(n,e)},h=class extends r.Streamer{async fetchResourceAsData({key:e,resourcePath:t}){let n=await super.fetchResource({key:e,resourcePath:t});return{data:await n.text(),headers:Object.fromEntries(n.headers.entries())}}};exports.ReactNativeStreamer=h,exports.ReaderProvider=f,exports.createArchiveFromExpoFileSystemNext=l,exports.useCreateReader=c,exports.useLiveRef=e.t,exports.useReader=p,exports.useReaderState=m;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../shared-C6TEX07M.cjs");let t=require("react"),n=require("@prose-reader/archive-reader"),r=require("@prose-reader/shared"),i=require("expo-file-system/next"),a=require("@prose-reader/streamer"),o=require("react/jsx-runtime"),s=require("@webview-bridge/react-native");var c=async(e,{orderByAlpha:t,name:a}={})=>{let o=e.list();t&&(o=o.slice().sort((e,t)=>(0,r.sortByTitleComparator)(e.name,t.name)));let s=e=>e.list().reduce((e,t)=>t instanceof i.Directory?[...e,...s(t)]:[...e,t],[]);return(0,n.createArchive)({filename:a,records:o.reduce((e,t)=>t instanceof i.Directory?[...e,...s(t)]:[...e,t],[]).map(e=>e instanceof i.Directory?{dir:!0,basename:(0,r.getUriBasename)(e.name),uri:e.uri.replace(`file://`,``)}:{dir:!1,basename:(0,r.getUriBasename)(e.name),uri:e.uri.replace(`file://`,``),size:e.info().size??0,encodingFormat:e.type??void 0,...(0,n.blobFileAccessors)(async()=>new Blob([await e.arrayBuffer()]))}),close:()=>Promise.resolve()})},l=class extends a.Streamer{async fetchResourceAsData({key:e,resourcePath:t}){let n=await super.fetchResource({key:e,resourcePath:t});return{data:await n.text(),headers:Object.fromEntries(n.headers.entries())}}},u=(0,t.createContext)(void 0),d=()=>{let e=(0,t.useContext)(u);if(!e)throw Error(`useProseReader must be used within a ProseReaderProvider`);return e},f=({children:e,reader:t})=>(0,o.jsx)(u.Provider,{value:t,children:e}),p=n=>{let r=e.t(n),[i]=(0,t.useState)(()=>(0,s.bridge)(({set:e})=>({pagination:void 0,setPagination:async t=>{e({pagination:t})},context:void 0,setContext:async t=>{e({context:t})},async getResource(e){return r.current.getResource(e)}})));return i},m=(0,s.postMessageSchema)({load:{validate:e=>e},turnRight:{validate:()=>{}},turnLeft:{validate:()=>{}}}),h=e=>{let[n,r]=(0,t.useState)(void 0),i=p(e),a=n?.postMessage;(0,t.useEffect)(()=>{i&&r((0,s.createWebView)({bridge:i,debug:!0,postMessageSchema:m}))},[i]);let o=(0,t.useCallback)(e=>{a?.(`load`,{manifest:e})},[a]);return n?{webviewBridge:n,ReaderWebView:n.WebView,appBridge:i,load:o}:null},g=()=>{let{webviewBridge:e}=d(),{postMessage:t}=e;return{turnRight:()=>{t(`turnRight`,void 0)},turnLeft:()=>{t(`turnLeft`,void 0)}}},_=e=>{let{appBridge:t}=d();return(0,s.useBridge)(t,e)};exports.ReactNativeStreamer=l,exports.ReaderProvider=f,exports.createArchiveFromExpoFileSystemNext=c,exports.useCreateReader=h,exports.useLiveRef=e.t,exports.useReader=g,exports.useReaderState=_;
@@ -1,7 +1,7 @@
1
- export { useCreateReader } from './useCreateReader';
2
- export { createArchiveFromExpoFileSystemNext } from './createArchiveFromExpoFileSystemNext';
3
1
  export * from '../shared';
2
+ export { createArchiveFromExpoFileSystemNext } from './createArchiveFromExpoFileSystemNext';
3
+ export * from './ReactNativeStreamer';
4
4
  export { ReaderProvider } from './ReaderProvider';
5
+ export { useCreateReader } from './useCreateReader';
5
6
  export { useReader } from './useReader';
6
7
  export { useReaderState } from './useReaderState';
7
- export * from './ReactNativeStreamer';
@@ -1,12 +1,52 @@
1
1
  import { t as e } from "../shared-iVT9o4xR.js";
2
- import { bridge as t, createWebView as n, postMessageSchema as r, useBridge as i } from "@webview-bridge/react-native";
3
- import { createContext as a, useCallback as o, useContext as s, useEffect as c, useState as l } from "react";
4
- import { Streamer as u, blobFileAccessors as d, createArchive as f, getUriBasename as p, sortByTitleComparator as m } from "@prose-reader/streamer";
5
- import { Directory as h } from "expo-file-system/next";
6
- import { jsx as g } from "react/jsx-runtime";
7
- //#region src/native/useProseBridge.ts
8
- var _ = (n) => {
9
- let r = e(n), [i] = l(() => t(({ set: e }) => ({
2
+ import { createContext as t, useCallback as n, useContext as r, useEffect as i, useState as a } from "react";
3
+ import { blobFileAccessors as o, createArchive as s } from "@prose-reader/archive-reader";
4
+ import { getUriBasename as c, sortByTitleComparator as l } from "@prose-reader/shared";
5
+ import { Directory as u } from "expo-file-system/next";
6
+ import { Streamer as d } from "@prose-reader/streamer";
7
+ import { jsx as f } from "react/jsx-runtime";
8
+ import { bridge as p, createWebView as m, postMessageSchema as h, useBridge as g } from "@webview-bridge/react-native";
9
+ //#region src/native/createArchiveFromExpoFileSystemNext.ts
10
+ var _ = async (e, { orderByAlpha: t, name: n } = {}) => {
11
+ let r = e.list();
12
+ t && (r = r.slice().sort((e, t) => l(e.name, t.name)));
13
+ let i = (e) => e.list().reduce((e, t) => t instanceof u ? [...e, ...i(t)] : [...e, t], []);
14
+ return s({
15
+ filename: n,
16
+ records: r.reduce((e, t) => t instanceof u ? [...e, ...i(t)] : [...e, t], []).map((e) => e instanceof u ? {
17
+ dir: !0,
18
+ basename: c(e.name),
19
+ uri: e.uri.replace("file://", "")
20
+ } : {
21
+ dir: !1,
22
+ basename: c(e.name),
23
+ uri: e.uri.replace("file://", ""),
24
+ size: e.info().size ?? 0,
25
+ encodingFormat: e.type ?? void 0,
26
+ ...o(async () => new Blob([await e.arrayBuffer()]))
27
+ }),
28
+ close: () => Promise.resolve()
29
+ });
30
+ }, v = class extends d {
31
+ async fetchResourceAsData({ key: e, resourcePath: t }) {
32
+ let n = await super.fetchResource({
33
+ key: e,
34
+ resourcePath: t
35
+ });
36
+ return {
37
+ data: await n.text(),
38
+ headers: Object.fromEntries(n.headers.entries())
39
+ };
40
+ }
41
+ }, y = t(void 0), b = () => {
42
+ let e = r(y);
43
+ if (!e) throw Error("useProseReader must be used within a ProseReaderProvider");
44
+ return e;
45
+ }, x = ({ children: e, reader: t }) => /* @__PURE__ */ f(y.Provider, {
46
+ value: t,
47
+ children: e
48
+ }), S = (t) => {
49
+ let n = e(t), [r] = a(() => p(({ set: e }) => ({
10
50
  pagination: void 0,
11
51
  setPagination: async (t) => {
12
52
  e({ pagination: t });
@@ -16,61 +56,34 @@ var _ = (n) => {
16
56
  e({ context: t });
17
57
  },
18
58
  async getResource(e) {
19
- return r.current.getResource(e);
59
+ return n.current.getResource(e);
20
60
  }
21
61
  })));
22
- return i;
23
- }, v = r({
62
+ return r;
63
+ }, C = h({
24
64
  load: { validate: (e) => e },
25
65
  turnRight: { validate: () => {} },
26
66
  turnLeft: { validate: () => {} }
27
- }), y = (e) => {
28
- let [t, r] = l(void 0), i = _(e), a = t?.postMessage;
29
- c(() => {
30
- i && r(n({
31
- bridge: i,
67
+ }), w = (e) => {
68
+ let [t, r] = a(void 0), o = S(e), s = t?.postMessage;
69
+ i(() => {
70
+ o && r(m({
71
+ bridge: o,
32
72
  debug: !0,
33
- postMessageSchema: v
73
+ postMessageSchema: C
34
74
  }));
35
- }, [i]);
36
- let s = o((e) => {
37
- a?.("load", { manifest: e });
38
- }, [a]);
75
+ }, [o]);
76
+ let c = n((e) => {
77
+ s?.("load", { manifest: e });
78
+ }, [s]);
39
79
  return t ? {
40
80
  webviewBridge: t,
41
81
  ReaderWebView: t.WebView,
42
- appBridge: i,
43
- load: s
82
+ appBridge: o,
83
+ load: c
44
84
  } : null;
45
- }, b = async (e, { orderByAlpha: t, name: n } = {}) => {
46
- let r = e.list();
47
- t && (r = r.slice().sort((e, t) => m(e.name, t.name)));
48
- let i = (e) => e.list().reduce((e, t) => t instanceof h ? [...e, ...i(t)] : [...e, t], []);
49
- return f({
50
- filename: n,
51
- records: r.reduce((e, t) => t instanceof h ? [...e, ...i(t)] : [...e, t], []).map((e) => e instanceof h ? {
52
- dir: !0,
53
- basename: p(e.name),
54
- uri: e.uri.replace("file://", "")
55
- } : {
56
- dir: !1,
57
- basename: p(e.name),
58
- uri: e.uri.replace("file://", ""),
59
- size: e.info().size ?? 0,
60
- encodingFormat: e.type ?? void 0,
61
- ...d(async () => new Blob([await e.arrayBuffer()]))
62
- }),
63
- close: () => Promise.resolve()
64
- });
65
- }, x = a(void 0), S = () => {
66
- let e = s(x);
67
- if (!e) throw Error("useProseReader must be used within a ProseReaderProvider");
68
- return e;
69
- }, C = ({ children: e, reader: t }) => /* @__PURE__ */ g(x.Provider, {
70
- value: t,
71
- children: e
72
- }), w = () => {
73
- let { webviewBridge: e } = S(), { postMessage: t } = e;
85
+ }, T = () => {
86
+ let { webviewBridge: e } = b(), { postMessage: t } = e;
74
87
  return {
75
88
  turnRight: () => {
76
89
  t("turnRight", void 0);
@@ -79,20 +92,9 @@ var _ = (n) => {
79
92
  t("turnLeft", void 0);
80
93
  }
81
94
  };
82
- }, T = (e) => {
83
- let { appBridge: t } = S();
84
- return i(t, e);
85
- }, E = class extends u {
86
- async fetchResourceAsData({ key: e, resourcePath: t }) {
87
- let n = await super.fetchResource({
88
- key: e,
89
- resourcePath: t
90
- });
91
- return {
92
- data: await n.text(),
93
- headers: Object.fromEntries(n.headers.entries())
94
- };
95
- }
95
+ }, E = (e) => {
96
+ let { appBridge: t } = b();
97
+ return g(t, e);
96
98
  };
97
99
  //#endregion
98
- export { E as ReactNativeStreamer, C as ReaderProvider, b as createArchiveFromExpoFileSystemNext, y as useCreateReader, e as useLiveRef, w as useReader, T as useReaderState };
100
+ export { v as ReactNativeStreamer, x as ReaderProvider, _ as createArchiveFromExpoFileSystemNext, w as useCreateReader, e as useLiveRef, T as useReader, E as useReaderState };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/react-native",
3
- "version": "1.319.0",
3
+ "version": "1.321.0",
4
4
  "type": "module",
5
5
  "main": "./dist/native/index.cjs",
6
6
  "module": "./dist/native/index.js",
@@ -32,8 +32,9 @@
32
32
  "@webview-bridge/react-native": "^1.7.7"
33
33
  },
34
34
  "peerDependencies": {
35
+ "@prose-reader/archive-reader": "^1.320.0",
35
36
  "@prose-reader/core": "^1.215.0",
36
- "@prose-reader/shared": "^1.215.0",
37
+ "@prose-reader/shared": "^1.320.0",
37
38
  "@prose-reader/streamer": "^1.215.0",
38
39
  "@webview-bridge/react-native": "^1.7.7",
39
40
  "@webview-bridge/web": "^1.7.7",
@@ -41,5 +42,5 @@
41
42
  "react": "19.x",
42
43
  "rxjs": "*"
43
44
  },
44
- "gitHead": "348f1339ba2628c81b516bbbdce9dc0cf253a6a7"
45
+ "gitHead": "8bfc054a6a40ada59234bf36d4527db17395afcc"
45
46
  }