@webview-bridge/react 1.5.3-rc.2 → 1.6.0-rc.2
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.
package/dist/commonjs/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var g=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var t in e)g(r,t,{get:e[t],enumerable:!0})},b=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of x(e))!m.call(r,s)&&s!==t&&g(r,s,{get:()=>e[s],enumerable:!(n=v(e,s))||n.enumerable});return r};var p=r=>b(g({},"__esModule",{value:!0}),r);var w={};f(w,{createLinkBridgeProvider:()=>l,useBridge:()=>a});module.exports=p(w);var S=require("@webview-bridge/web"),o=require("react");var B=require("use-sync-external-store/with-selector.js");function a(r,e){let t=e!=null?e:n=>n;return(0,B.useSyncExternalStoreWithSelector)(r.subscribe,r.getState,r.getState,t)}var c=require("react/jsx-runtime"),l=r=>{let e=(0,S.linkBridge)(r),t=(0,o.createContext)(null);return{bridge:e,BridgeProvider:({children:i})=>{let d=(0,o.useRef)();return d.current||(d.current=e),(0,c.jsx)(t.Provider,{value:d.current,children:i})},useBridgeStore:i=>{let d=(0,o.useContext)(t);if(!d)throw new Error("useBridgeStore must be used within a BridgeProvider");return a(d.store,i)},useBridgeStatus:()=>{let i=(0,o.useContext)(t);if(!i)throw new Error("useBridgeStatus must be used within a BridgeProvider");return{isNativeMethodAvailable:d=>i.isNativeMethodAvailable(d),isWebViewBridgeAvailable:i.isWebViewBridgeAvailable}},useBridgeLoose:()=>{let i=(0,o.useContext)(t);if(!i)throw new Error("useBridgeLoose must be used within a BridgeProvider");return{loose:i.loose}},useBridgeEventListener:(i,d)=>{let u=(0,o.useContext)(t);if(!u)throw new Error("useBridgeEventListener must be used within a BridgeProvider");(0,o.useEffect)(()=>u.addEventListener(i,d),[])}}};0&&(module.exports={createLinkBridgeProvider,useBridge});
|
package/dist/module/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{linkBridge as u}from"@webview-bridge/web";import{createContext as
|
|
1
|
+
import{linkBridge as u}from"@webview-bridge/web";import{createContext as B,useContext as d,useEffect as S,useRef as c}from"react";import{useSyncExternalStoreWithSelector as a}from"use-sync-external-store/with-selector.js";function g(o,i){let t=i!=null?i:s=>s;return a(o.subscribe,o.getState,o.getState,t)}import{jsx as v}from"react/jsx-runtime";var T=o=>{let i=u(o),t=B(null);return{bridge:i,BridgeProvider:({children:e})=>{let r=c();return r.current||(r.current=i),v(t.Provider,{value:r.current,children:e})},useBridgeStore:e=>{let r=d(t);if(!r)throw new Error("useBridgeStore must be used within a BridgeProvider");return g(r.store,e)},useBridgeStatus:()=>{let e=d(t);if(!e)throw new Error("useBridgeStatus must be used within a BridgeProvider");return{isNativeMethodAvailable:r=>e.isNativeMethodAvailable(r),isWebViewBridgeAvailable:e.isWebViewBridgeAvailable}},useBridgeLoose:()=>{let e=d(t);if(!e)throw new Error("useBridgeLoose must be used within a BridgeProvider");return{loose:e.loose}},useBridgeEventListener:(e,r)=>{let n=d(t);if(!n)throw new Error("useBridgeEventListener must be used within a BridgeProvider");S(()=>n.addEventListener(e,r),[])}}};export{T as createLinkBridgeProvider,g as useBridge};
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
import type { Bridge, BridgeStore, KeyOfOrString, LinkBridgeOptions, Parser, ParserSchema } from "@webview-bridge/web";
|
|
1
|
+
import type { Bridge, BridgeStore, ExcludePrimitive, ExtractStore, KeyOfOrString, LinkBridgeOptions, Parser, ParserSchema } from "@webview-bridge/web";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
3
|
export interface BridgeProviderProps {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
}
|
|
6
6
|
export declare const createLinkBridgeProvider: <T extends BridgeStore<T extends Bridge ? T : any>, V extends ParserSchema<any> = ParserSchema<any>>(options?: LinkBridgeOptions<T, V> | undefined) => {
|
|
7
|
-
bridge: import("@webview-bridge/web").LinkBridge<
|
|
7
|
+
bridge: import("@webview-bridge/web").LinkBridge<ExcludePrimitive<ExtractStore<T>>, Omit<T, "setState">, V>;
|
|
8
8
|
BridgeProvider: ({ children }: BridgeProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
useBridgeStore: <U>(selector: (state: ReturnType<T["getState"]>) => U) => U;
|
|
10
10
|
useBridgeStatus: () => {
|
|
11
|
-
isNativeMethodAvailable:
|
|
12
|
-
(method: keyof import("@webview-bridge/web").ExcludePrimitive<import("@webview-bridge/web").ExtractStore<T>>): boolean;
|
|
13
|
-
(method: string): boolean;
|
|
14
|
-
};
|
|
11
|
+
isNativeMethodAvailable: (method: keyof ExcludePrimitive<ExtractStore<T>>) => boolean;
|
|
15
12
|
isWebViewBridgeAvailable: boolean;
|
|
16
13
|
};
|
|
17
14
|
useBridgeLoose: () => {
|
|
18
|
-
loose: (
|
|
15
|
+
loose: (ExcludePrimitive<ExtractStore<T>> extends infer T_1 ? { [K in keyof T_1]: (...args: any[]) => Promise<any>; } : never) & {
|
|
19
16
|
[key: string]: (...args: any[]) => Promise<any>;
|
|
20
17
|
};
|
|
21
18
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webview-bridge/react",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.6.0-rc.2",
|
|
5
5
|
"description": "Fully Type-Safe Integration for React Native WebView and Web",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@types/use-sync-external-store": "^0.0.6",
|
|
31
31
|
"esbuild": "^0.19.4",
|
|
32
32
|
"react": "^18.2.0",
|
|
33
|
-
"@webview-bridge/web": "^1.
|
|
33
|
+
"@webview-bridge/web": "^1.6.0-rc.2"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"use-sync-external-store": "^1.2.2"
|