@wevu/web-apis 1.2.8 → 1.2.9
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/abort.mjs +1 -1
- package/dist/fetch.d.mts +10 -1
- package/dist/fetch.mjs +4 -1
- package/dist/http.mjs +1 -1
- package/dist/index.d.mts +3 -1
- package/dist/index.mjs +4 -2
- package/dist/networkDefaults.d.mts +22 -0
- package/dist/networkDefaults.mjs +72 -0
- package/dist/{shared-1FH7Skf_.mjs → shared-BB491DgN.mjs} +1 -1
- package/dist/shared.mjs +1 -1
- package/dist/web.mjs +1 -1
- package/dist/websocket.d.mts +8 -2
- package/dist/websocket.mjs +15 -2
- package/dist/xhr.d.mts +2 -0
- package/dist/xhr.mjs +3 -1
- package/package.json +6 -2
package/dist/abort.mjs
CHANGED
package/dist/fetch.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RequestGlobalsMiniProgramOptions } from "./networkDefaults.mjs";
|
|
1
2
|
import { URLPolyfill } from "./url.mjs";
|
|
2
3
|
|
|
3
4
|
//#region src/fetch.d.ts
|
|
@@ -17,12 +18,20 @@ interface RequestGlobalsFetchInit {
|
|
|
17
18
|
headers?: unknown;
|
|
18
19
|
body?: unknown;
|
|
19
20
|
signal?: AbortSignal | null;
|
|
21
|
+
miniProgram?: RequestGlobalsMiniProgramOptions;
|
|
22
|
+
miniprogram?: RequestGlobalsMiniProgramOptions;
|
|
20
23
|
[key: string]: unknown;
|
|
21
24
|
}
|
|
25
|
+
declare global {
|
|
26
|
+
interface RequestInit {
|
|
27
|
+
miniProgram?: RequestGlobalsMiniProgramOptions;
|
|
28
|
+
miniprogram?: RequestGlobalsMiniProgramOptions;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
22
31
|
type RequestGlobalsFetchInput = string | URL | URLPolyfill | RequestLikeInput;
|
|
23
32
|
/**
|
|
24
33
|
* @description 使用 @wevu/api 的 request 能力实现 fetch 语义对齐。
|
|
25
34
|
*/
|
|
26
35
|
declare function fetch(input: RequestGlobalsFetchInput, init?: RequestGlobalsFetchInit): Promise<Response>;
|
|
27
36
|
//#endregion
|
|
28
|
-
export { RequestGlobalsFetchInit, fetch };
|
|
37
|
+
export { RequestGlobalsFetchInit, type RequestGlobalsMiniProgramOptions, fetch };
|
package/dist/fetch.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { f as isUrlInstance, l as normalizeHeaderName, n as cloneArrayBuffer, p as isUrlSearchParamsInstance, r as cloneArrayBufferView } from "./shared-
|
|
1
|
+
import { f as isUrlInstance, l as normalizeHeaderName, n as cloneArrayBuffer, p as isUrlSearchParamsInstance, r as cloneArrayBufferView } from "./shared-BB491DgN.mjs";
|
|
2
2
|
import { HeadersPolyfill, ResponsePolyfill } from "./http.mjs";
|
|
3
|
+
import { resolveRequestMiniProgramOptions } from "./networkDefaults.mjs";
|
|
3
4
|
import { wpi } from "@wevu/api";
|
|
4
5
|
//#region src/fetch.ts
|
|
5
6
|
const REQUEST_METHODS = [
|
|
@@ -108,6 +109,7 @@ async function resolveRequestMeta(input, init = {}) {
|
|
|
108
109
|
if (!hasBodyInInit && requestInput && (method === "GET" || method === "HEAD")) rawBody = void 0;
|
|
109
110
|
if ((method === "GET" || method === "HEAD") && rawBody != null) throw new TypeError("Failed to execute fetch: GET/HEAD request cannot have body");
|
|
110
111
|
return {
|
|
112
|
+
miniProgram: resolveRequestMiniProgramOptions(init.miniProgram, init.miniprogram),
|
|
111
113
|
url,
|
|
112
114
|
method,
|
|
113
115
|
headers,
|
|
@@ -148,6 +150,7 @@ function fetch(input, init) {
|
|
|
148
150
|
}
|
|
149
151
|
if (meta.signal) meta.signal.addEventListener("abort", onAbort, { once: true });
|
|
150
152
|
const requestResult = wpi.request({
|
|
153
|
+
...meta.miniProgram,
|
|
151
154
|
url: meta.url,
|
|
152
155
|
method: meta.method,
|
|
153
156
|
header: meta.headers,
|
package/dist/http.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as isUrlInstance, i as decodeText, l as normalizeHeaderName, n as cloneArrayBuffer, o as encodeText, r as cloneArrayBufferView } from "./shared-
|
|
1
|
+
import { f as isUrlInstance, i as decodeText, l as normalizeHeaderName, n as cloneArrayBuffer, o as encodeText, r as cloneArrayBufferView } from "./shared-BB491DgN.mjs";
|
|
2
2
|
//#region src/http.ts
|
|
3
3
|
function isIterableHeaders(input) {
|
|
4
4
|
return Boolean(input) && typeof input[Symbol.iterator] === "function";
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RequestGlobalsEventTarget } from "./shared.mjs";
|
|
2
2
|
import { AbortControllerPolyfill, AbortSignalPolyfill } from "./abort.mjs";
|
|
3
|
+
import { MiniProgramNetworkDefaults, RequestGlobalsMiniProgramOptions, WebSocketMiniProgramOptions, getMiniProgramNetworkDefaults, resetMiniProgramNetworkDefaults, setMiniProgramNetworkDefaults } from "./networkDefaults.mjs";
|
|
3
4
|
import { URLPolyfill, URLSearchParamsPolyfill } from "./url.mjs";
|
|
4
5
|
import { fetch } from "./fetch.mjs";
|
|
5
6
|
import { HeadersPolyfill, RequestPolyfill, ResponsePolyfill } from "./http.mjs";
|
|
@@ -77,6 +78,7 @@ type WeappInjectWebRuntimeGlobalsTarget = 'fetch' | 'Headers' | 'Request' | 'Res
|
|
|
77
78
|
type WeappInjectRequestGlobalsTarget = WeappInjectWebRuntimeGlobalsTarget;
|
|
78
79
|
interface InstallWebRuntimeGlobalsOptions {
|
|
79
80
|
targets?: WeappInjectWebRuntimeGlobalsTarget[];
|
|
81
|
+
networkDefaults?: MiniProgramNetworkDefaults;
|
|
80
82
|
}
|
|
81
83
|
interface InstallRequestGlobalsOptions extends InstallWebRuntimeGlobalsOptions {}
|
|
82
84
|
/**
|
|
@@ -92,4 +94,4 @@ declare function installRequestGlobals(options?: InstallRequestGlobalsOptions):
|
|
|
92
94
|
*/
|
|
93
95
|
declare function installAbortGlobals(): Record<string, any>;
|
|
94
96
|
//#endregion
|
|
95
|
-
export { AbortControllerPolyfill, AbortSignalPolyfill, BlobPolyfill, CustomEventPolyfill, EventPolyfill, FormDataPolyfill, HeadersPolyfill, InstallRequestGlobalsOptions, InstallWebRuntimeGlobalsOptions, RequestGlobalsEventTarget, RequestPolyfill, ResponsePolyfill, TextDecoderPolyfill, TextEncoderPolyfill, URLPolyfill, URLSearchParamsPolyfill, WeappInjectRequestGlobalsTarget, WeappInjectWebRuntimeGlobalsTarget, WebSocketPolyfill, XMLHttpRequestPolyfill, atobPolyfill, btoaPolyfill, cryptoPolyfill, fetch, installAbortGlobals, installRequestGlobals, installWebRuntimeGlobals, performancePolyfill, queueMicrotaskPolyfill };
|
|
97
|
+
export { AbortControllerPolyfill, AbortSignalPolyfill, BlobPolyfill, CustomEventPolyfill, EventPolyfill, FormDataPolyfill, HeadersPolyfill, InstallRequestGlobalsOptions, InstallWebRuntimeGlobalsOptions, type MiniProgramNetworkDefaults, RequestGlobalsEventTarget, type RequestGlobalsMiniProgramOptions, RequestPolyfill, ResponsePolyfill, TextDecoderPolyfill, TextEncoderPolyfill, URLPolyfill, URLSearchParamsPolyfill, WeappInjectRequestGlobalsTarget, WeappInjectWebRuntimeGlobalsTarget, type WebSocketMiniProgramOptions, WebSocketPolyfill, XMLHttpRequestPolyfill, atobPolyfill, btoaPolyfill, cryptoPolyfill, fetch, getMiniProgramNetworkDefaults, installAbortGlobals, installRequestGlobals, installWebRuntimeGlobals, performancePolyfill, queueMicrotaskPolyfill, resetMiniProgramNetworkDefaults, setMiniProgramNetworkDefaults };
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { a as decodeTextFallback, c as installRequestGlobalBinding, d as resolveRequestGlobalsHosts, g as getMiniProgramRuntimeGlobalKeys, s as encodeTextFallback, t as RequestGlobalsEventTarget, u as resolveRequestGlobalsHost } from "./shared-
|
|
1
|
+
import { a as decodeTextFallback, c as installRequestGlobalBinding, d as resolveRequestGlobalsHosts, g as getMiniProgramRuntimeGlobalKeys, s as encodeTextFallback, t as RequestGlobalsEventTarget, u as resolveRequestGlobalsHost } from "./shared-BB491DgN.mjs";
|
|
2
2
|
import { URLPolyfill, URLSearchParamsPolyfill } from "./url.mjs";
|
|
3
3
|
import { AbortControllerPolyfill, AbortSignalPolyfill } from "./abort.mjs";
|
|
4
4
|
import { HeadersPolyfill, RequestPolyfill, ResponsePolyfill } from "./http.mjs";
|
|
5
|
+
import { getMiniProgramNetworkDefaults, resetMiniProgramNetworkDefaults, setMiniProgramNetworkDefaults } from "./networkDefaults.mjs";
|
|
5
6
|
import { fetch } from "./fetch.mjs";
|
|
6
7
|
import { BlobPolyfill, FormDataPolyfill } from "./web.mjs";
|
|
7
8
|
import { WebSocketPolyfill } from "./websocket.mjs";
|
|
@@ -340,6 +341,7 @@ function syncWeappViteRequestGlobalsActuals(host, targets) {
|
|
|
340
341
|
* @description 按需向小程序全局环境注入缺失的 Web Runtime 对象。
|
|
341
342
|
*/
|
|
342
343
|
function installWebRuntimeGlobals(options = {}) {
|
|
344
|
+
if (options.networkDefaults !== void 0) setMiniProgramNetworkDefaults(options.networkDefaults);
|
|
343
345
|
const targets = resolveInstallTargets(options.targets ?? [
|
|
344
346
|
"fetch",
|
|
345
347
|
"Headers",
|
|
@@ -390,4 +392,4 @@ function installAbortGlobals() {
|
|
|
390
392
|
return installWebRuntimeGlobals({ targets: ["AbortController", "AbortSignal"] });
|
|
391
393
|
}
|
|
392
394
|
//#endregion
|
|
393
|
-
export { AbortControllerPolyfill, AbortSignalPolyfill, BlobPolyfill, CustomEventPolyfill, EventPolyfill, FormDataPolyfill, HeadersPolyfill, RequestGlobalsEventTarget, RequestPolyfill, ResponsePolyfill, TextDecoderPolyfill, TextEncoderPolyfill, URLPolyfill, URLSearchParamsPolyfill, WebSocketPolyfill, XMLHttpRequestPolyfill, atobPolyfill, btoaPolyfill, cryptoPolyfill, fetch, installAbortGlobals, installRequestGlobals, installWebRuntimeGlobals, performancePolyfill, queueMicrotaskPolyfill };
|
|
395
|
+
export { AbortControllerPolyfill, AbortSignalPolyfill, BlobPolyfill, CustomEventPolyfill, EventPolyfill, FormDataPolyfill, HeadersPolyfill, RequestGlobalsEventTarget, RequestPolyfill, ResponsePolyfill, TextDecoderPolyfill, TextEncoderPolyfill, URLPolyfill, URLSearchParamsPolyfill, WebSocketPolyfill, XMLHttpRequestPolyfill, atobPolyfill, btoaPolyfill, cryptoPolyfill, fetch, getMiniProgramNetworkDefaults, installAbortGlobals, installRequestGlobals, installWebRuntimeGlobals, performancePolyfill, queueMicrotaskPolyfill, resetMiniProgramNetworkDefaults, setMiniProgramNetworkDefaults };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { WeapiMiniProgramConnectSocketOption, WeapiMiniProgramRequestOption } from "@wevu/api";
|
|
2
|
+
|
|
3
|
+
//#region src/networkDefaults.d.ts
|
|
4
|
+
declare const MINI_PROGRAM_REQUEST_OPTION_KEYS: readonly ["enableCache", "enableChunked", "enableHttp2", "enableHttpDNS", "enableProfile", "enableQuic", "forceCellularNetwork", "httpDNSServiceId", "httpDNSTimeout", "redirect", "timeout", "useHighPerformanceMode"];
|
|
5
|
+
declare const MINI_PROGRAM_SOCKET_OPTION_KEYS: readonly ["forceCellularNetwork", "header", "perMessageDeflate", "timeout"];
|
|
6
|
+
type RequestGlobalsMiniProgramOptionKey = typeof MINI_PROGRAM_REQUEST_OPTION_KEYS[number];
|
|
7
|
+
type WebSocketMiniProgramOptionKey = typeof MINI_PROGRAM_SOCKET_OPTION_KEYS[number];
|
|
8
|
+
type RequestGlobalsMiniProgramOptions = Pick<Partial<WeapiMiniProgramRequestOption>, RequestGlobalsMiniProgramOptionKey>;
|
|
9
|
+
type WebSocketMiniProgramOptions = Pick<Partial<WeapiMiniProgramConnectSocketOption>, WebSocketMiniProgramOptionKey>;
|
|
10
|
+
interface MiniProgramNetworkDefaults {
|
|
11
|
+
request?: RequestGlobalsMiniProgramOptions;
|
|
12
|
+
socket?: WebSocketMiniProgramOptions;
|
|
13
|
+
}
|
|
14
|
+
declare function normalizeRequestMiniProgramOptions(...sources: unknown[]): RequestGlobalsMiniProgramOptions;
|
|
15
|
+
declare function normalizeWebSocketMiniProgramOptions(...sources: unknown[]): WebSocketMiniProgramOptions;
|
|
16
|
+
declare function getMiniProgramNetworkDefaults(): MiniProgramNetworkDefaults;
|
|
17
|
+
declare function setMiniProgramNetworkDefaults(defaults?: MiniProgramNetworkDefaults): MiniProgramNetworkDefaults;
|
|
18
|
+
declare function resetMiniProgramNetworkDefaults(): MiniProgramNetworkDefaults;
|
|
19
|
+
declare function resolveRequestMiniProgramOptions(...sources: unknown[]): RequestGlobalsMiniProgramOptions;
|
|
20
|
+
declare function resolveWebSocketMiniProgramOptions(...sources: unknown[]): WebSocketMiniProgramOptions;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { MiniProgramNetworkDefaults, RequestGlobalsMiniProgramOptions, WebSocketMiniProgramOptions, getMiniProgramNetworkDefaults, normalizeRequestMiniProgramOptions, normalizeWebSocketMiniProgramOptions, resetMiniProgramNetworkDefaults, resolveRequestMiniProgramOptions, resolveWebSocketMiniProgramOptions, setMiniProgramNetworkDefaults };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
//#region src/networkDefaults.ts
|
|
2
|
+
const MINI_PROGRAM_REQUEST_OPTION_KEYS = [
|
|
3
|
+
"enableCache",
|
|
4
|
+
"enableChunked",
|
|
5
|
+
"enableHttp2",
|
|
6
|
+
"enableHttpDNS",
|
|
7
|
+
"enableProfile",
|
|
8
|
+
"enableQuic",
|
|
9
|
+
"forceCellularNetwork",
|
|
10
|
+
"httpDNSServiceId",
|
|
11
|
+
"httpDNSTimeout",
|
|
12
|
+
"redirect",
|
|
13
|
+
"timeout",
|
|
14
|
+
"useHighPerformanceMode"
|
|
15
|
+
];
|
|
16
|
+
const MINI_PROGRAM_SOCKET_OPTION_KEYS = [
|
|
17
|
+
"forceCellularNetwork",
|
|
18
|
+
"header",
|
|
19
|
+
"perMessageDeflate",
|
|
20
|
+
"timeout"
|
|
21
|
+
];
|
|
22
|
+
let miniProgramNetworkDefaults = {};
|
|
23
|
+
function hasOwnProperty(source, key) {
|
|
24
|
+
return Object.hasOwn(source, key);
|
|
25
|
+
}
|
|
26
|
+
function isObject(value) {
|
|
27
|
+
return typeof value === "object" && value !== null;
|
|
28
|
+
}
|
|
29
|
+
function normalizeOptions(keys, sources) {
|
|
30
|
+
const options = {};
|
|
31
|
+
for (const source of sources) {
|
|
32
|
+
if (!isObject(source)) continue;
|
|
33
|
+
const candidate = source;
|
|
34
|
+
for (const key of keys) {
|
|
35
|
+
if (!hasOwnProperty(candidate, key)) continue;
|
|
36
|
+
const value = candidate[key];
|
|
37
|
+
if (value !== void 0) options[key] = value;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return options;
|
|
41
|
+
}
|
|
42
|
+
function normalizeRequestMiniProgramOptions(...sources) {
|
|
43
|
+
return normalizeOptions(MINI_PROGRAM_REQUEST_OPTION_KEYS, sources);
|
|
44
|
+
}
|
|
45
|
+
function normalizeWebSocketMiniProgramOptions(...sources) {
|
|
46
|
+
return normalizeOptions(MINI_PROGRAM_SOCKET_OPTION_KEYS, sources);
|
|
47
|
+
}
|
|
48
|
+
function getMiniProgramNetworkDefaults() {
|
|
49
|
+
return {
|
|
50
|
+
request: normalizeRequestMiniProgramOptions(miniProgramNetworkDefaults.request),
|
|
51
|
+
socket: normalizeWebSocketMiniProgramOptions(miniProgramNetworkDefaults.socket)
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function setMiniProgramNetworkDefaults(defaults = {}) {
|
|
55
|
+
miniProgramNetworkDefaults = {
|
|
56
|
+
request: normalizeRequestMiniProgramOptions(defaults.request),
|
|
57
|
+
socket: normalizeWebSocketMiniProgramOptions(defaults.socket)
|
|
58
|
+
};
|
|
59
|
+
return getMiniProgramNetworkDefaults();
|
|
60
|
+
}
|
|
61
|
+
function resetMiniProgramNetworkDefaults() {
|
|
62
|
+
miniProgramNetworkDefaults = {};
|
|
63
|
+
return getMiniProgramNetworkDefaults();
|
|
64
|
+
}
|
|
65
|
+
function resolveRequestMiniProgramOptions(...sources) {
|
|
66
|
+
return normalizeRequestMiniProgramOptions(getMiniProgramNetworkDefaults().request, ...sources);
|
|
67
|
+
}
|
|
68
|
+
function resolveWebSocketMiniProgramOptions(...sources) {
|
|
69
|
+
return normalizeWebSocketMiniProgramOptions(getMiniProgramNetworkDefaults().socket, ...sources);
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
export { getMiniProgramNetworkDefaults, normalizeRequestMiniProgramOptions, normalizeWebSocketMiniProgramOptions, resetMiniProgramNetworkDefaults, resolveRequestMiniProgramOptions, resolveWebSocketMiniProgramOptions, setMiniProgramNetworkDefaults };
|
|
@@ -6,7 +6,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
6
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
7
|
var __getProtoOf = Object.getPrototypeOf;
|
|
8
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
-
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
9
|
+
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
10
10
|
var __copyProps = (to, from, except, desc) => {
|
|
11
11
|
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
12
12
|
key = keys[i];
|
package/dist/shared.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as decodeTextFallback, c as installRequestGlobalBinding, d as resolveRequestGlobalsHosts, i as decodeText, l as normalizeHeaderName, n as cloneArrayBuffer, o as encodeText, r as cloneArrayBufferView, s as encodeTextFallback, t as RequestGlobalsEventTarget, u as resolveRequestGlobalsHost } from "./shared-
|
|
1
|
+
import { a as decodeTextFallback, c as installRequestGlobalBinding, d as resolveRequestGlobalsHosts, i as decodeText, l as normalizeHeaderName, n as cloneArrayBuffer, o as encodeText, r as cloneArrayBufferView, s as encodeTextFallback, t as RequestGlobalsEventTarget, u as resolveRequestGlobalsHost } from "./shared-BB491DgN.mjs";
|
|
2
2
|
export { RequestGlobalsEventTarget, cloneArrayBuffer, cloneArrayBufferView, decodeText, decodeTextFallback, encodeText, encodeTextFallback, installRequestGlobalBinding, normalizeHeaderName, resolveRequestGlobalsHost, resolveRequestGlobalsHosts };
|
package/dist/web.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as decodeText, n as cloneArrayBuffer, o as encodeText, r as cloneArrayBufferView } from "./shared-
|
|
1
|
+
import { i as decodeText, n as cloneArrayBuffer, o as encodeText, r as cloneArrayBufferView } from "./shared-BB491DgN.mjs";
|
|
2
2
|
//#region src/web.ts
|
|
3
3
|
function normalizeBlobPart(part) {
|
|
4
4
|
if (typeof part === "string") return Promise.resolve(encodeText(part));
|
package/dist/websocket.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RequestGlobalsEventTarget } from "./shared.mjs";
|
|
2
|
+
import { WebSocketMiniProgramOptions } from "./networkDefaults.mjs";
|
|
2
3
|
import { BlobPolyfill } from "./web.mjs";
|
|
3
4
|
|
|
4
5
|
//#region src/websocket.d.ts
|
|
@@ -21,6 +22,11 @@ interface WebSocketMessageEventLike {
|
|
|
21
22
|
origin: string;
|
|
22
23
|
type: 'message';
|
|
23
24
|
}
|
|
25
|
+
interface WebSocketPolyfillInit {
|
|
26
|
+
protocols?: string | string[];
|
|
27
|
+
miniProgram?: WebSocketMiniProgramOptions;
|
|
28
|
+
miniprogram?: WebSocketMiniProgramOptions;
|
|
29
|
+
}
|
|
24
30
|
declare class WebSocketPolyfill extends RequestGlobalsEventTarget {
|
|
25
31
|
static readonly CONNECTING = 0;
|
|
26
32
|
static readonly OPEN = 1;
|
|
@@ -43,11 +49,11 @@ declare class WebSocketPolyfill extends RequestGlobalsEventTarget {
|
|
|
43
49
|
type: 'open';
|
|
44
50
|
}) => void) | null;
|
|
45
51
|
private socketTask?;
|
|
46
|
-
constructor(url: string, protocols?: string | string[]);
|
|
52
|
+
constructor(url: string, protocols?: string | string[] | WebSocketPolyfillInit);
|
|
47
53
|
close(code?: number, reason?: string): void;
|
|
48
54
|
send(data: WebSocketSendData): void;
|
|
49
55
|
private closeFromRuntime;
|
|
50
56
|
private emitError;
|
|
51
57
|
}
|
|
52
58
|
//#endregion
|
|
53
|
-
export { WebSocketPolyfill };
|
|
59
|
+
export { WebSocketPolyfill, WebSocketPolyfillInit };
|
package/dist/websocket.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { h as resolveUrlConstructor$1, m as resolveTextEncoderConstructor, n as cloneArrayBuffer, r as cloneArrayBufferView, t as RequestGlobalsEventTarget } from "./shared-
|
|
1
|
+
import { h as resolveUrlConstructor$1, m as resolveTextEncoderConstructor, n as cloneArrayBuffer, r as cloneArrayBufferView, t as RequestGlobalsEventTarget } from "./shared-BB491DgN.mjs";
|
|
2
2
|
import { URLPolyfill } from "./url.mjs";
|
|
3
|
+
import { resolveWebSocketMiniProgramOptions } from "./networkDefaults.mjs";
|
|
3
4
|
import { BlobPolyfill } from "./web.mjs";
|
|
4
5
|
import { wpi } from "@wevu/api";
|
|
5
6
|
//#region src/websocket.ts
|
|
@@ -46,6 +47,17 @@ function normalizeProtocols(protocols) {
|
|
|
46
47
|
}
|
|
47
48
|
return normalized;
|
|
48
49
|
}
|
|
50
|
+
function isWebSocketPolyfillInit(value) {
|
|
51
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
52
|
+
}
|
|
53
|
+
function resolveWebSocketProtocols(protocols) {
|
|
54
|
+
if (isWebSocketPolyfillInit(protocols)) return normalizeProtocols(protocols.protocols);
|
|
55
|
+
return normalizeProtocols(protocols);
|
|
56
|
+
}
|
|
57
|
+
function resolveWebSocketMiniProgramConfig(protocols) {
|
|
58
|
+
if (!isWebSocketPolyfillInit(protocols)) return resolveWebSocketMiniProgramOptions();
|
|
59
|
+
return resolveWebSocketMiniProgramOptions(protocols.miniProgram, protocols.miniprogram);
|
|
60
|
+
}
|
|
49
61
|
function normalizeUrl(url) {
|
|
50
62
|
const parsed = new (resolveUrlConstructor())(String(url));
|
|
51
63
|
if (parsed.protocol !== "ws:" && parsed.protocol !== "wss:") throw new SyntaxError(`Failed to construct 'WebSocket': invalid URL "${url}"`);
|
|
@@ -116,8 +128,9 @@ var WebSocketPolyfill = class WebSocketPolyfill extends RequestGlobalsEventTarge
|
|
|
116
128
|
this.url = normalizeUrl(url);
|
|
117
129
|
const connectSocket = getRawConnectSocket();
|
|
118
130
|
if (!connectSocket) throw createDomLikeError("NotSupportedError", "WebSocket is not supported in the current mini-program runtime");
|
|
119
|
-
const normalizedProtocols =
|
|
131
|
+
const normalizedProtocols = resolveWebSocketProtocols(protocols);
|
|
120
132
|
const task = connectSocket({
|
|
133
|
+
...resolveWebSocketMiniProgramConfig(protocols),
|
|
121
134
|
url: this.url,
|
|
122
135
|
protocols: normalizedProtocols,
|
|
123
136
|
fail: (error) => {
|
package/dist/xhr.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RequestGlobalsEventTarget } from "./shared.mjs";
|
|
2
|
+
import { RequestGlobalsMiniProgramOptions } from "./networkDefaults.mjs";
|
|
2
3
|
|
|
3
4
|
//#region src/xhr.d.ts
|
|
4
5
|
type XhrBody = Document | XMLHttpRequestBodyInit | null | undefined;
|
|
@@ -24,6 +25,7 @@ declare class XMLHttpRequestPolyfill extends RequestGlobalsEventTarget {
|
|
|
24
25
|
statusText: string;
|
|
25
26
|
timeout: number;
|
|
26
27
|
withCredentials: boolean;
|
|
28
|
+
miniProgram: RequestGlobalsMiniProgramOptions | null;
|
|
27
29
|
onreadystatechange: ((event: {
|
|
28
30
|
type: string;
|
|
29
31
|
}) => void) | null;
|
package/dist/xhr.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as RequestGlobalsEventTarget, u as resolveRequestGlobalsHost } from "./shared-
|
|
1
|
+
import { t as RequestGlobalsEventTarget, u as resolveRequestGlobalsHost } from "./shared-BB491DgN.mjs";
|
|
2
2
|
import { AbortControllerPolyfill } from "./abort.mjs";
|
|
3
3
|
import { HeadersPolyfill, headersToObject } from "./http.mjs";
|
|
4
4
|
import { fetch } from "./fetch.mjs";
|
|
@@ -42,6 +42,7 @@ var XMLHttpRequestPolyfill = class XMLHttpRequestPolyfill extends RequestGlobals
|
|
|
42
42
|
statusText = "";
|
|
43
43
|
timeout = 0;
|
|
44
44
|
withCredentials = false;
|
|
45
|
+
miniProgram = null;
|
|
45
46
|
onreadystatechange = null;
|
|
46
47
|
onabort = null;
|
|
47
48
|
onerror = null;
|
|
@@ -104,6 +105,7 @@ var XMLHttpRequestPolyfill = class XMLHttpRequestPolyfill extends RequestGlobals
|
|
|
104
105
|
method: this.method,
|
|
105
106
|
headers: headersToObject(this.requestHeaders),
|
|
106
107
|
body,
|
|
108
|
+
miniProgram: this.miniProgram ?? void 0,
|
|
107
109
|
signal: controller.signal
|
|
108
110
|
});
|
|
109
111
|
this.responseHeaders = typeof Headers === "function" && response.headers instanceof Headers ? response.headers : new HeadersPolyfill(response.headers);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wevu/web-apis",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.9",
|
|
5
5
|
"description": "Web API polyfills and global installers for mini-program runtimes",
|
|
6
6
|
"author": "ice breaker <1324318532@qq.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -39,6 +39,10 @@
|
|
|
39
39
|
"types": "./dist/http.d.mts",
|
|
40
40
|
"import": "./dist/http.mjs"
|
|
41
41
|
},
|
|
42
|
+
"./network-defaults": {
|
|
43
|
+
"types": "./dist/networkDefaults.d.mts",
|
|
44
|
+
"import": "./dist/networkDefaults.mjs"
|
|
45
|
+
},
|
|
42
46
|
"./shared": {
|
|
43
47
|
"types": "./dist/shared.d.mts",
|
|
44
48
|
"import": "./dist/shared.mjs"
|
|
@@ -71,7 +75,7 @@
|
|
|
71
75
|
},
|
|
72
76
|
"dependencies": {
|
|
73
77
|
"@weapp-core/constants": "^0.1.1",
|
|
74
|
-
"@wevu/api": "0.2.
|
|
78
|
+
"@wevu/api": "0.2.5"
|
|
75
79
|
},
|
|
76
80
|
"publishConfig": {
|
|
77
81
|
"access": "public",
|