@ishibashi0112/webview2-bridge-client 0.3.1 → 0.4.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.
- package/README.md +14 -1
- package/dist/http.d.ts +62 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +241 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -39,7 +39,20 @@ const off = client.events.on("progress", (p) => console.log(p.percent)); // host
|
|
|
39
39
|
|---|---|
|
|
40
40
|
| `WebView2Transport` | inside the WinForms host (`window.chrome.webview`). Wire format: JSON-RPC 2.0 over `postMessage` / `PostWebMessageAsJson` |
|
|
41
41
|
| `MemoryTransport<C>(handlers, { delay })` | plain browser / tests. Handlers are typed from the contract: `{ parts: { search: async (input, { emit }) => output } }`; `emit("progress", payload)` simulates host events. Handler exceptions become `-32000` errors like on the VB side |
|
|
42
|
-
|
|
|
42
|
+
| `HttpTransport({ baseUrl, headers?, credentials?, timeoutMs?, events? })` | a server that implements the contract over HTTP (the `openapi.json` the generator emits): `POST <baseUrl>/<namespace>/<method>` with the input as JSON body; 4xx/5xx bodies carrying `{ code, message, data }` become `BridgeError` with that code. Events are read from `GET <baseUrl>/events` (Server-Sent Events, connected on the first `on()`, reconnecting after `retryMs`); pass `events: false` if the server has none. `headers` may be a function (e.g. to attach a fresh token) and applies to the event stream too |
|
|
43
|
+
| your own | implement `Transport { call(method, params); on(method, handler) }` (e.g. msw) and add it to `selectTransport` factories |
|
|
44
|
+
|
|
45
|
+
Switching a UI from the WinForms host to an HTTP server is therefore a transport change only:
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
const { transport } = selectTransport({
|
|
49
|
+
mode: import.meta.env.VITE_TRANSPORT, // "http"
|
|
50
|
+
factories: {
|
|
51
|
+
memory: () => new MemoryTransport(handlers),
|
|
52
|
+
http: () => new HttpTransport({ baseUrl: import.meta.env.VITE_HTTP_BASE_URL ?? "/api" }),
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
```
|
|
43
56
|
|
|
44
57
|
Protocol details and the VB.NET side (`WebView2Bridge.Runtime`, `WebView2Bridge.WinForms` on NuGet) are documented in the repository.
|
|
45
58
|
|
package/dist/http.d.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type Transport } from "./transport.js";
|
|
2
|
+
export interface HttpTransportEventsOptions {
|
|
3
|
+
/** SSE の path(baseUrl からの相対。既定 "/events") */
|
|
4
|
+
path?: string;
|
|
5
|
+
/** 切断後に再接続するまでの待ち時間 ms(既定 3000) */
|
|
6
|
+
retryMs?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface HttpTransportOptions {
|
|
9
|
+
/** `POST <baseUrl>/<namespace>/<method>` の baseUrl(例: "/api"、"http://localhost:8080/api")。末尾の "/" は無視する */
|
|
10
|
+
baseUrl: string;
|
|
11
|
+
/** 省略時は globalThis.fetch */
|
|
12
|
+
fetch?: typeof globalThis.fetch;
|
|
13
|
+
/** 全要求に付けるヘッダ(認証など)。関数なら要求ごとに呼ぶ */
|
|
14
|
+
headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);
|
|
15
|
+
/** fetch の credentials(Cookie 認証なら "include") */
|
|
16
|
+
credentials?: RequestCredentials;
|
|
17
|
+
/** 応答待ちの上限(既定 30000ms)。イベント購読には適用しない */
|
|
18
|
+
timeoutMs?: number;
|
|
19
|
+
/**
|
|
20
|
+
* イベント(Host → Web 通知)の受け取り方。既定は `GET <baseUrl>/events` を Server-Sent Events として購読する。
|
|
21
|
+
* サーバーがイベントを提供しないときは `false`(`on()` は何もしない購読解除関数を返す)
|
|
22
|
+
*/
|
|
23
|
+
events?: false | HttpTransportEventsOptions;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 契約を HTTP で提供するサーバー(OpenAPI: gen の `openapi` 出力)と話す transport。
|
|
27
|
+
* WebView2Transport と同じ Transport なので、画面側のコードは変えずに差し替えられる。
|
|
28
|
+
*
|
|
29
|
+
* - `call("parts.search", params)` → `POST <baseUrl>/parts/search`、body = params(JSON)、200 の body = result
|
|
30
|
+
* - 4xx / 5xx の body が JSON-RPC の error オブジェクト `{ code, message, data }` なら、そのまま BridgeError にする
|
|
31
|
+
* (VB ホストの -32602 / -32601 / -32000 と同じコードが届く)。それ以外の失敗は -32603 に包む
|
|
32
|
+
* - イベントは `GET <baseUrl>/events`(text/event-stream)。各 `data:` は postMessage と同じ JSON-RPC 通知。
|
|
33
|
+
* 最初の `on()` で接続し、切れたら retryMs 後につなぎ直す。`dispose()` で切る。
|
|
34
|
+
* EventSource ではなく fetch で読むので、認証ヘッダを call と同じように付けられる
|
|
35
|
+
*/
|
|
36
|
+
export declare class HttpTransport implements Transport {
|
|
37
|
+
private readonly baseUrl;
|
|
38
|
+
private readonly fetchFn;
|
|
39
|
+
private readonly headers;
|
|
40
|
+
private readonly credentials;
|
|
41
|
+
private readonly timeoutMs;
|
|
42
|
+
private readonly events;
|
|
43
|
+
private readonly listeners;
|
|
44
|
+
private readonly inflight;
|
|
45
|
+
private eventsAbort;
|
|
46
|
+
private disposed;
|
|
47
|
+
constructor(options: HttpTransportOptions);
|
|
48
|
+
/** `parts.search` → `<baseUrl>/parts/search` */
|
|
49
|
+
urlFor(method: string): string;
|
|
50
|
+
/** イベント購読中(SSE 接続を維持している)か */
|
|
51
|
+
get eventsConnected(): boolean;
|
|
52
|
+
call(method: string, params: unknown): Promise<unknown>;
|
|
53
|
+
on(method: string, handler: (params: unknown) => void): () => void;
|
|
54
|
+
/** 待機中の要求を reject し、イベント接続を閉じる。以降の call は BridgeDisposedError */
|
|
55
|
+
dispose(): void;
|
|
56
|
+
private buildHeaders;
|
|
57
|
+
private ensureEventStream;
|
|
58
|
+
private runEventStream;
|
|
59
|
+
/** text/event-stream を読み、`data:` の JSON を JSON-RPC 通知として配る */
|
|
60
|
+
private readSse;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,0BAA0B;IACzC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,2GAA2G;IAC3G,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,mCAAmC;IACnC,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE,iDAAiD;IACjD,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,0BAA0B,CAAC;CAC7C;AAMD;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,oBAAoB;IAiBzC,gDAAgD;IAChD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI9B,8BAA8B;IAC9B,IAAI,eAAe,IAAI,OAAO,CAE7B;IAEK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAsC7D,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAOlE,iEAAiE;IACjE,OAAO,IAAI,IAAI;YASD,YAAY;IAO1B,OAAO,CAAC,iBAAiB;YAOX,cAAc;IAsB5B,8DAA8D;YAChD,OAAO;CAsCtB"}
|
package/dist/http.js
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { BridgeDisposedError, BridgeError, BridgeTimeoutError, isJsonRpcNotification, JsonRpcErrorCodes, ListenerMap, } from "./transport.js";
|
|
2
|
+
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
3
|
+
const DEFAULT_EVENTS_PATH = "/events";
|
|
4
|
+
const DEFAULT_RETRY_MS = 3_000;
|
|
5
|
+
/**
|
|
6
|
+
* 契約を HTTP で提供するサーバー(OpenAPI: gen の `openapi` 出力)と話す transport。
|
|
7
|
+
* WebView2Transport と同じ Transport なので、画面側のコードは変えずに差し替えられる。
|
|
8
|
+
*
|
|
9
|
+
* - `call("parts.search", params)` → `POST <baseUrl>/parts/search`、body = params(JSON)、200 の body = result
|
|
10
|
+
* - 4xx / 5xx の body が JSON-RPC の error オブジェクト `{ code, message, data }` なら、そのまま BridgeError にする
|
|
11
|
+
* (VB ホストの -32602 / -32601 / -32000 と同じコードが届く)。それ以外の失敗は -32603 に包む
|
|
12
|
+
* - イベントは `GET <baseUrl>/events`(text/event-stream)。各 `data:` は postMessage と同じ JSON-RPC 通知。
|
|
13
|
+
* 最初の `on()` で接続し、切れたら retryMs 後につなぎ直す。`dispose()` で切る。
|
|
14
|
+
* EventSource ではなく fetch で読むので、認証ヘッダを call と同じように付けられる
|
|
15
|
+
*/
|
|
16
|
+
export class HttpTransport {
|
|
17
|
+
baseUrl;
|
|
18
|
+
fetchFn;
|
|
19
|
+
headers;
|
|
20
|
+
credentials;
|
|
21
|
+
timeoutMs;
|
|
22
|
+
events;
|
|
23
|
+
listeners = new ListenerMap();
|
|
24
|
+
inflight = new Set();
|
|
25
|
+
eventsAbort;
|
|
26
|
+
disposed = false;
|
|
27
|
+
constructor(options) {
|
|
28
|
+
this.baseUrl = options.baseUrl.replace(/\/+$/, "");
|
|
29
|
+
const f = options.fetch ?? globalThis.fetch;
|
|
30
|
+
if (typeof f !== "function")
|
|
31
|
+
throw new Error("HttpTransport: fetch is not available; pass options.fetch");
|
|
32
|
+
this.fetchFn = f;
|
|
33
|
+
this.headers = options.headers;
|
|
34
|
+
this.credentials = options.credentials;
|
|
35
|
+
this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
36
|
+
this.events =
|
|
37
|
+
options.events === false
|
|
38
|
+
? false
|
|
39
|
+
: {
|
|
40
|
+
path: options.events?.path ?? DEFAULT_EVENTS_PATH,
|
|
41
|
+
retryMs: options.events?.retryMs ?? DEFAULT_RETRY_MS,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/** `parts.search` → `<baseUrl>/parts/search` */
|
|
45
|
+
urlFor(method) {
|
|
46
|
+
return `${this.baseUrl}/${method.split(".").join("/")}`;
|
|
47
|
+
}
|
|
48
|
+
/** イベント購読中(SSE 接続を維持している)か */
|
|
49
|
+
get eventsConnected() {
|
|
50
|
+
return this.eventsAbort !== undefined;
|
|
51
|
+
}
|
|
52
|
+
async call(method, params) {
|
|
53
|
+
if (this.disposed)
|
|
54
|
+
throw new BridgeDisposedError(method);
|
|
55
|
+
const controller = new AbortController();
|
|
56
|
+
this.inflight.add(controller);
|
|
57
|
+
let timedOut = false;
|
|
58
|
+
const timer = setTimeout(() => {
|
|
59
|
+
timedOut = true;
|
|
60
|
+
controller.abort();
|
|
61
|
+
}, this.timeoutMs);
|
|
62
|
+
try {
|
|
63
|
+
const init = {
|
|
64
|
+
method: "POST",
|
|
65
|
+
headers: await this.buildHeaders({ "content-type": "application/json", accept: "application/json" }),
|
|
66
|
+
body: JSON.stringify(params ?? {}),
|
|
67
|
+
signal: controller.signal,
|
|
68
|
+
};
|
|
69
|
+
if (this.credentials !== undefined)
|
|
70
|
+
init.credentials = this.credentials;
|
|
71
|
+
let res;
|
|
72
|
+
try {
|
|
73
|
+
res = await this.fetchFn(this.urlFor(method), init);
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
if (this.disposed)
|
|
77
|
+
throw new BridgeDisposedError(method);
|
|
78
|
+
if (timedOut)
|
|
79
|
+
throw new BridgeTimeoutError(method, this.timeoutMs);
|
|
80
|
+
throw new BridgeError({ code: JsonRpcErrorCodes.InternalError, message: `Network error: ${errorMessage(e)}`, data: undefined }, method);
|
|
81
|
+
}
|
|
82
|
+
const text = await res.text();
|
|
83
|
+
if (res.ok)
|
|
84
|
+
return text.length === 0 ? undefined : parseJson(text, method);
|
|
85
|
+
throw new BridgeError(toErrorObject(res, text), method);
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
clearTimeout(timer);
|
|
89
|
+
this.inflight.delete(controller);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
on(method, handler) {
|
|
93
|
+
if (this.events === false)
|
|
94
|
+
return () => { };
|
|
95
|
+
const off = this.listeners.add(method, handler);
|
|
96
|
+
this.ensureEventStream();
|
|
97
|
+
return off;
|
|
98
|
+
}
|
|
99
|
+
/** 待機中の要求を reject し、イベント接続を閉じる。以降の call は BridgeDisposedError */
|
|
100
|
+
dispose() {
|
|
101
|
+
this.disposed = true;
|
|
102
|
+
for (const c of this.inflight)
|
|
103
|
+
c.abort();
|
|
104
|
+
this.inflight.clear();
|
|
105
|
+
this.eventsAbort?.abort();
|
|
106
|
+
this.eventsAbort = undefined;
|
|
107
|
+
this.listeners.clear();
|
|
108
|
+
}
|
|
109
|
+
async buildHeaders(base) {
|
|
110
|
+
const h = new Headers(base);
|
|
111
|
+
const extra = typeof this.headers === "function" ? await this.headers() : this.headers;
|
|
112
|
+
if (extra)
|
|
113
|
+
new Headers(extra).forEach((v, k) => h.set(k, v));
|
|
114
|
+
return h;
|
|
115
|
+
}
|
|
116
|
+
ensureEventStream() {
|
|
117
|
+
if (this.events === false || this.eventsAbort !== undefined || this.disposed)
|
|
118
|
+
return;
|
|
119
|
+
const controller = new AbortController();
|
|
120
|
+
this.eventsAbort = controller;
|
|
121
|
+
void this.runEventStream(controller, this.events);
|
|
122
|
+
}
|
|
123
|
+
async runEventStream(controller, events) {
|
|
124
|
+
const url = `${this.baseUrl}${events.path.startsWith("/") ? "" : "/"}${events.path}`;
|
|
125
|
+
while (!controller.signal.aborted) {
|
|
126
|
+
try {
|
|
127
|
+
const init = {
|
|
128
|
+
method: "GET",
|
|
129
|
+
headers: await this.buildHeaders({ accept: "text/event-stream" }),
|
|
130
|
+
signal: controller.signal,
|
|
131
|
+
};
|
|
132
|
+
if (this.credentials !== undefined)
|
|
133
|
+
init.credentials = this.credentials;
|
|
134
|
+
const res = await this.fetchFn(url, init);
|
|
135
|
+
if (!res.ok || !res.body)
|
|
136
|
+
throw new Error(`HTTP ${res.status} ${res.statusText}`);
|
|
137
|
+
await this.readSse(res.body, controller.signal);
|
|
138
|
+
}
|
|
139
|
+
catch (e) {
|
|
140
|
+
if (controller.signal.aborted)
|
|
141
|
+
break;
|
|
142
|
+
console.error("[webview2-bridge] event stream failed; retrying", e);
|
|
143
|
+
}
|
|
144
|
+
if (controller.signal.aborted)
|
|
145
|
+
break;
|
|
146
|
+
await sleep(events.retryMs, controller.signal);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/** text/event-stream を読み、`data:` の JSON を JSON-RPC 通知として配る */
|
|
150
|
+
async readSse(body, signal) {
|
|
151
|
+
const reader = body.getReader();
|
|
152
|
+
const decoder = new TextDecoder();
|
|
153
|
+
let buffer = "";
|
|
154
|
+
let data = [];
|
|
155
|
+
const flush = () => {
|
|
156
|
+
if (data.length === 0)
|
|
157
|
+
return;
|
|
158
|
+
const text = data.join("\n");
|
|
159
|
+
data = [];
|
|
160
|
+
let msg;
|
|
161
|
+
try {
|
|
162
|
+
msg = JSON.parse(text);
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
console.error("[webview2-bridge] ignoring non-JSON SSE data", text);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if (isJsonRpcNotification(msg))
|
|
169
|
+
this.listeners.dispatch(msg.method, msg.params);
|
|
170
|
+
};
|
|
171
|
+
try {
|
|
172
|
+
while (!signal.aborted) {
|
|
173
|
+
const { value, done } = await reader.read();
|
|
174
|
+
if (done)
|
|
175
|
+
break;
|
|
176
|
+
buffer += decoder.decode(value, { stream: true });
|
|
177
|
+
let nl;
|
|
178
|
+
while ((nl = buffer.indexOf("\n")) >= 0) {
|
|
179
|
+
let line = buffer.slice(0, nl);
|
|
180
|
+
buffer = buffer.slice(nl + 1);
|
|
181
|
+
if (line.endsWith("\r"))
|
|
182
|
+
line = line.slice(0, -1);
|
|
183
|
+
if (line === "")
|
|
184
|
+
flush();
|
|
185
|
+
else if (line.startsWith("data:"))
|
|
186
|
+
data.push(line.slice(5).replace(/^ /, ""));
|
|
187
|
+
// "event:" / "id:" / "retry:" / コメント行は使わない(通知の種類は JSON の method で判別する)
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
flush();
|
|
191
|
+
}
|
|
192
|
+
finally {
|
|
193
|
+
reader.releaseLock();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
function parseJson(text, method) {
|
|
198
|
+
try {
|
|
199
|
+
return JSON.parse(text);
|
|
200
|
+
}
|
|
201
|
+
catch (e) {
|
|
202
|
+
throw new BridgeError({ code: JsonRpcErrorCodes.ParseError, message: `Invalid JSON in response: ${errorMessage(e)}`, data: text }, method);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/** 失敗応答の body が JSON-RPC error なら採用し、そうでなければ HTTP ステータスから作る */
|
|
206
|
+
function toErrorObject(res, text) {
|
|
207
|
+
try {
|
|
208
|
+
const parsed = JSON.parse(text);
|
|
209
|
+
if (typeof parsed === "object" && parsed !== null) {
|
|
210
|
+
const o = parsed;
|
|
211
|
+
if (typeof o["code"] === "number" && typeof o["message"] === "string") {
|
|
212
|
+
return { code: o["code"], message: o["message"], data: o["data"] };
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
// JSON でない body(プロキシの HTML 等)
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
code: JsonRpcErrorCodes.InternalError,
|
|
221
|
+
message: `HTTP ${res.status}${res.statusText ? ` ${res.statusText}` : ""}`,
|
|
222
|
+
data: { status: res.status, body: text },
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
function errorMessage(e) {
|
|
226
|
+
return e instanceof Error ? e.message : String(e);
|
|
227
|
+
}
|
|
228
|
+
function sleep(ms, signal) {
|
|
229
|
+
return new Promise((resolve) => {
|
|
230
|
+
if (signal.aborted)
|
|
231
|
+
return resolve();
|
|
232
|
+
const t = setTimeout(done, ms);
|
|
233
|
+
function done() {
|
|
234
|
+
clearTimeout(t);
|
|
235
|
+
signal.removeEventListener("abort", done);
|
|
236
|
+
resolve();
|
|
237
|
+
}
|
|
238
|
+
signal.addEventListener("abort", done, { once: true });
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { BridgeDisposedError, BridgeError, BridgeTimeoutError, BridgeValidationError, EVENT_PREFIX, JsonRpcErrorCodes, eventMethod, isJsonRpcNotification, isJsonRpcResponse, type ContractShape, type JsonRpcErrorObject, type JsonRpcFailure, type JsonRpcId, type JsonRpcNotification, type JsonRpcRequest, type JsonRpcResponse, type JsonRpcSuccess, type MethodShape, type Transport, type ValidationDirection, } from "./transport.js";
|
|
2
2
|
export { WebView2Transport, getWebView2, type WebView2Like, type WebView2TransportOptions } from "./webview2.js";
|
|
3
|
+
export { HttpTransport, type HttpTransportEventsOptions, type HttpTransportOptions } from "./http.js";
|
|
3
4
|
export { MemoryTransport, type MemoryContext, type MemoryHandlers, type MemoryTransportOptions } from "./memory.js";
|
|
4
5
|
export { createClient, type Client, type ClientEvents, type ClientMethods, type CreateClientOptions } from "./create-client.js";
|
|
5
6
|
export { selectTransport, type SelectTransportOptions, type TransportFactory } from "./select-transport.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAChI,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,aAAa,EAAE,KAAK,0BAA0B,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAChI,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { BridgeDisposedError, BridgeError, BridgeTimeoutError, BridgeValidationError, EVENT_PREFIX, JsonRpcErrorCodes, eventMethod, isJsonRpcNotification, isJsonRpcResponse, } from "./transport.js";
|
|
2
2
|
export { WebView2Transport, getWebView2 } from "./webview2.js";
|
|
3
|
+
export { HttpTransport } from "./http.js";
|
|
3
4
|
export { MemoryTransport } from "./memory.js";
|
|
4
5
|
export { createClient } from "./create-client.js";
|
|
5
6
|
export { selectTransport } from "./select-transport.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,iBAAiB,GAYlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAoD,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,eAAe,EAAwE,MAAM,aAAa,CAAC;AACpH,OAAO,EAAE,YAAY,EAAgF,MAAM,oBAAoB,CAAC;AAChI,OAAO,EAAE,eAAe,EAAsD,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,iBAAiB,GAYlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAoD,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,aAAa,EAA8D,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,eAAe,EAAwE,MAAM,aAAa,CAAC;AACpH,OAAO,EAAE,YAAY,EAAgF,MAAM,oBAAoB,CAAC;AAChI,OAAO,EAAE,eAAe,EAAsD,MAAM,uBAAuB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ishibashi0112/webview2-bridge-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Front-end runtime for webview2-bridge: typed JSON-RPC client over WebView2 postMessage (WebView2Transport), in-browser MemoryTransport for development, and zod validation on both ends",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"webview2",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"zod": "^4.0.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
+
"@types/node": "^24.13.3",
|
|
46
47
|
"typescript": "^5.9.3",
|
|
47
48
|
"vitest": "^4.1.11",
|
|
48
49
|
"zod": "^4.5.4"
|