@wevu/api 0.2.15 → 0.2.17

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/index.d.mts CHANGED
@@ -135,18 +135,6 @@ type WeapiMiniProgramBluetoothError = Parameters<NonNullable<WeapiMiniProgramCre
135
135
  */
136
136
  type WeapiMiniProgramClipboardDataResult = Parameters<NonNullable<NonNullable<WeapiMiniProgramClipboardOption>['success']>>[0];
137
137
  //#endregion
138
- //#region src/core/nonPromisifiedMethods.d.ts
139
- /**
140
- * @description `wpi` 中需要保留原始同步返回值的方法名单。
141
- *
142
- * 这些方法虽然不一定带有 `Sync` 后缀,但本质上属于以下几类:
143
- * - 宿主能力探测与同步工具方法
144
- * - 各类上下文 / manager / socket / observer 工厂
145
- * - 同步返回句柄的调度与分析方法
146
- */
147
- declare const WEAPI_NON_PROMISIFIED_METHOD_NAMES: readonly ["arrayBufferToBase64", "base64ToArrayBuffer", "canIUse", "cancelIdleCallback", "createAnimation", "createAudioContext", "createCameraContext", "createCanvasContext", "createEditorContext", "createInnerAudioContext", "createIntersectionObserver", "createInterstitialAd", "createLivePlayerContext", "createLivePusherContext", "createMapContext", "createMediaAudioPlayer", "createMediaContainer", "createMediaRecorder", "createOffscreenCanvas", "createRewardedVideoAd", "createSelectorQuery", "createTCPSocket", "createUDPSocket", "createVKSession", "createVideoContext", "createWebAudioContext", "createWorker", "getBackgroundAudioManager", "getFileSystemManager", "getLogManager", "getMenuButtonBoundingClientRect", "getNFCAdapter", "getOpenDataContext", "getPerformance", "getRealtimeLogManager", "getRecorderManager", "getUpdateManager", "getUserCryptoManager", "getXrFrameSystem", "nextTick", "reportAnalytics", "requestIdleCallback"];
148
- type WeapiNonPromisifiedMethodName = typeof WEAPI_NON_PROMISIFIED_METHOD_NAMES[number];
149
- //#endregion
150
138
  //#region src/core/platformAdapters.d.ts
151
139
  type MergeAdapters<Primary extends WeapiAdapter, Secondary extends WeapiAdapter> = Primary & Omit<Secondary, keyof Primary>;
152
140
  /**
@@ -177,6 +165,75 @@ type WeapiMiniProgramCrossPlatformRawAdapter = MergeAdapters<MergeAdapters<Weapi
177
165
  */
178
166
  type WeapiCrossPlatformRawAdapter = WeapiMiniProgramCrossPlatformRawAdapter;
179
167
  //#endregion
168
+ //#region src/core/nonPromisifiedMethods.d.ts
169
+ /**
170
+ * @description `wpi` 中需要保留原始同步返回值的方法名单。
171
+ *
172
+ * 这些方法虽然不一定带有 `Sync` 后缀,但本质上属于以下几类:
173
+ * - 宿主能力探测与同步工具方法
174
+ * - 各类上下文 / manager / socket / observer 工厂
175
+ * - 同步返回句柄的调度与分析方法
176
+ */
177
+ declare const WEAPI_NON_PROMISIFIED_METHOD_NAMES: readonly ["arrayBufferToBase64", "base64ToArrayBuffer", "canIUse", "cancelIdleCallback", "createAnimation", "createAudioContext", "createCameraContext", "createCanvasContext", "createEditorContext", "createInnerAudioContext", "createIntersectionObserver", "createInterstitialAd", "createLivePlayerContext", "createLivePusherContext", "createMapContext", "createMediaAudioPlayer", "createMediaContainer", "createMediaRecorder", "createOffscreenCanvas", "createRewardedVideoAd", "createSelectorQuery", "createTCPSocket", "createUDPSocket", "createVKSession", "createVideoContext", "createWebAudioContext", "createWorker", "getBackgroundAudioManager", "getFileSystemManager", "getLogManager", "getMenuButtonBoundingClientRect", "getNFCAdapter", "getOpenDataContext", "getPerformance", "getRealtimeLogManager", "getRecorderManager", "getUpdateManager", "getUserCryptoManager", "getXrFrameSystem", "nextTick", "reportAnalytics", "requestIdleCallback"];
178
+ type WeapiNonPromisifiedMethodName = typeof WEAPI_NON_PROMISIFIED_METHOD_NAMES[number];
179
+ //#endregion
180
+ //#region src/core/promisify/index.d.ts
181
+ type WeapiAdapter = Record<string, any>;
182
+ /**
183
+ * @description weapi Promise 的通用错误类型
184
+ */
185
+ interface WeapiError {
186
+ errMsg: string;
187
+ errno?: number;
188
+ }
189
+ /**
190
+ * @description 保留拒绝原因类型的 Promise
191
+ */
192
+ interface WeapiPromise<TResult, TError = WeapiError> extends Promise<TResult> {
193
+ then: <TResult1 = TResult, TResult2 = never>(onfulfilled?: ((value: TResult) => PromiseLike<TResult1> | TResult1) | null, onrejected?: ((reason: TError) => PromiseLike<TResult2> | TResult2) | null) => WeapiPromise<TResult1 | TResult2, TError>;
194
+ catch: <TResult2 = never>(onrejected?: ((reason: TError) => PromiseLike<TResult2> | TResult2) | null) => WeapiPromise<TResult | TResult2, TError>;
195
+ finally: (onfinally?: (() => void) | null) => WeapiPromise<TResult, TError>;
196
+ }
197
+ type HasCallbackKey<T> = T extends object ? 'success' extends keyof T ? true : 'fail' extends keyof T ? true : 'complete' extends keyof T ? true : false : false;
198
+ type HasCallbackOption<T> = T extends {
199
+ success: unknown;
200
+ } ? true : T extends {
201
+ fail: unknown;
202
+ } ? true : T extends {
203
+ complete: unknown;
204
+ } ? true : false;
205
+ type ExtractSuccessResult<T> = T extends {
206
+ success?: (...args: infer A) => unknown;
207
+ } ? A[0] : void;
208
+ type ExtractFailureResult<T> = 'fail' extends keyof T ? T extends {
209
+ fail?: (...args: infer A) => unknown;
210
+ } ? A[0] : never : never;
211
+ type IsAny<T> = 0 extends (1 & T) ? true : false;
212
+ type NormalizeFailureResult<T> = IsAny<T> extends true ? WeapiError : unknown extends T ? WeapiError : [T] extends [never] ? WeapiError : T;
213
+ type WechatErrorExtension<TAdapter> = TAdapter extends WeapiMiniProgramWechatRawAdapter ? Pick<WeapiError, 'errno'> : object;
214
+ type PromisifyFailureResult<Option, TAdapter> = NormalizeFailureResult<ExtractFailureResult<Option>> & WechatErrorExtension<TAdapter>;
215
+ type PromisifyOptionMethod<Prefix extends any[], Option extends object, Result, IsOptional extends boolean, TAdapter> = IsOptional extends true ? {
216
+ <TOption extends Option>(...args: [...Prefix, TOption]): HasCallbackOption<TOption> extends true ? Result : WeapiPromise<ExtractSuccessResult<Option>, PromisifyFailureResult<Option, TAdapter>>;
217
+ (...args: Prefix): WeapiPromise<ExtractSuccessResult<Option>, PromisifyFailureResult<Option, TAdapter>>;
218
+ } : {
219
+ <TOption extends Option>(...args: [...Prefix, TOption]): HasCallbackOption<TOption> extends true ? Result : WeapiPromise<ExtractSuccessResult<Option>, PromisifyFailureResult<Option, TAdapter>>;
220
+ };
221
+ type NormalizePromisifyReturn<T, TAdapter> = T extends Promise<infer TResult> ? WeapiPromise<TResult, WeapiError & WechatErrorExtension<TAdapter>> : WeapiPromise<T, WeapiError & WechatErrorExtension<TAdapter>>;
222
+ type NormalizeTupleArgs<Args extends any[]> = { [Key in keyof Args]-?: Args[Key]; };
223
+ type DecomposeTrailingArg<Args extends any[]> = NormalizeTupleArgs<Args> extends [...infer Prefix, infer Last] ? {
224
+ prefix: Prefix;
225
+ last: Last;
226
+ } : never;
227
+ type IsOptionalTrailingArg<Args extends any[], Prefix extends any[]> = Record<never, never> extends Pick<Args, Prefix['length']> ? true : false;
228
+ type RequiredObjectKeys<T extends object> = { [Key in keyof T]-?: Pick<T, Key> extends Required<Pick<T, Key>> ? Key : never; }[keyof T];
229
+ type IsStructurallyOmittableObject<T> = T extends object ? RequiredObjectKeys<T> extends never ? true : false : false;
230
+ type IsOmittableTrailingArg<Args extends any[], Prefix extends any[], Last> = IsOptionalTrailingArg<Args, Prefix> extends true ? true : IsStructurallyOmittableObject<NonNullable<Last>>;
231
+ type PromisifyMethod<TMethod, TAdapter> = TMethod extends ((...args: infer Args) => infer Result) ? Args extends [] ? (...args: Args) => NormalizePromisifyReturn<Result, TAdapter> : DecomposeTrailingArg<Args> extends {
232
+ prefix: infer Prefix extends any[];
233
+ last: infer Last;
234
+ } ? true extends HasCallbackKey<NonNullable<Last>> ? PromisifyOptionMethod<Prefix, NonNullable<Last>, Result, IsOmittableTrailingArg<Args, Prefix, Last>, TAdapter> : (...args: Args) => NormalizePromisifyReturn<Result, TAdapter> : (...args: Args) => NormalizePromisifyReturn<Result, TAdapter> : TMethod;
235
+ type WeapiPromisify<TAdapter extends WeapiAdapter> = { [Key in keyof TAdapter]: Key extends string ? Key extends `${string}Sync` ? TAdapter[Key] : Key extends WeapiNonPromisifiedMethodName ? TAdapter[Key] : Key extends `on${Capitalize<string>}` | `off${Capitalize<string>}` ? TAdapter[Key] : PromisifyMethod<TAdapter[Key], TAdapter> : TAdapter[Key]; };
236
+ //#endregion
180
237
  //#region src/core/types/methodDocsCanvasGetImageDataToOpenPrivacyContract/canvasGetImageDataToOpenChannelsActivity.d.ts
181
238
  interface WeapiCrossPlatformMethodDocsCanvasGetImageDataToOpenPrivacyContractCanvasGetImageDataToOpenChannelsActivity {
182
239
  /**
@@ -8126,39 +8183,6 @@ type WeapiCrossPlatformMethodDocsShowToastToOpenAppAuthorizeSetting = WeapiCross
8126
8183
  type WeapiCrossPlatformMethodDocs = WeapiCrossPlatformMethodDocsShowToastToOpenAppAuthorizeSetting & WeapiCrossPlatformMethodDocsPluginLoginToGetAppBaseInfo & WeapiCrossPlatformMethodDocsChooseVideoToOpenDocument & WeapiCrossPlatformMethodDocsSaveVideoToPhotosAlbumToCanAddSecureElementPass & WeapiCrossPlatformMethodDocsCanvasGetImageDataToOpenPrivacyContract & WeapiCrossPlatformMethodDocsOpenSystemBluetoothSettingToChooseLicensePlate & WeapiCrossPlatformMethodDocsChoosePoiToShareFileToGroup & WeapiCrossPlatformMethodDocsShareImageToGroupToSelectGroupMembers & WeapiCrossPlatformMethodDocsSendHCEMessageToGetRandomValues & WeapiCrossPlatformMethodDocsGetRealtimeLogManagerToCreateUDPSocket & WeapiCrossPlatformMethodDocsCreateVideoDecoderToSetInnerAudioOption & WeapiCrossPlatformMethodDocsMissingMethods;
8127
8184
  //#endregion
8128
8185
  //#region src/core/types.d.ts
8129
- type WeapiAdapter = Record<string, any>;
8130
- type HasCallbackKey<T> = T extends object ? 'success' extends keyof T ? true : 'fail' extends keyof T ? true : 'complete' extends keyof T ? true : false : false;
8131
- type HasCallbackOption<T> = T extends {
8132
- success: unknown;
8133
- } ? true : T extends {
8134
- fail: unknown;
8135
- } ? true : T extends {
8136
- complete: unknown;
8137
- } ? true : false;
8138
- type ExtractSuccessResult<T> = T extends {
8139
- success?: (...args: infer A) => unknown;
8140
- } ? A[0] : void;
8141
- type PromisifyOptionMethod<Prefix extends any[], Option extends object, Result, IsOptional extends boolean> = IsOptional extends true ? {
8142
- <TOption extends Option>(...args: [...Prefix, TOption]): HasCallbackOption<TOption> extends true ? Result : Promise<ExtractSuccessResult<Option>>;
8143
- (...args: Prefix): Promise<ExtractSuccessResult<Option>>;
8144
- } : {
8145
- <TOption extends Option>(...args: [...Prefix, TOption]): HasCallbackOption<TOption> extends true ? Result : Promise<ExtractSuccessResult<Option>>;
8146
- };
8147
- type NormalizePromisifyReturn<T> = T extends Promise<any> ? T : Promise<T>;
8148
- type NormalizeTupleArgs<Args extends any[]> = { [Key in keyof Args]-?: Args[Key]; };
8149
- type DecomposeTrailingArg<Args extends any[]> = NormalizeTupleArgs<Args> extends [...infer Prefix, infer Last] ? {
8150
- prefix: Prefix;
8151
- last: Last;
8152
- } : never;
8153
- type IsOptionalTrailingArg<Args extends any[], Prefix extends any[]> = Record<never, never> extends Pick<Args, Prefix['length']> ? true : false;
8154
- type RequiredObjectKeys<T extends object> = { [Key in keyof T]-?: Pick<T, Key> extends Required<Pick<T, Key>> ? Key : never; }[keyof T];
8155
- type IsStructurallyOmittableObject<T> = T extends object ? (RequiredObjectKeys<T> extends never ? true : false) : false;
8156
- type IsOmittableTrailingArg<Args extends any[], Prefix extends any[], Last> = IsOptionalTrailingArg<Args, Prefix> extends true ? true : IsStructurallyOmittableObject<NonNullable<Last>>;
8157
- type PromisifyMethod<TMethod> = TMethod extends ((...args: infer Args) => infer Result) ? Args extends [] ? (...args: Args) => NormalizePromisifyReturn<Result> : DecomposeTrailingArg<Args> extends {
8158
- prefix: infer Prefix extends any[];
8159
- last: infer Last;
8160
- } ? true extends HasCallbackKey<NonNullable<Last>> ? PromisifyOptionMethod<Prefix, NonNullable<Last>, Result, IsOmittableTrailingArg<Args, Prefix, Last>> : (...args: Args) => NormalizePromisifyReturn<Result> : (...args: Args) => NormalizePromisifyReturn<Result> : TMethod;
8161
- type WeapiPromisify<TAdapter extends WeapiAdapter> = { [Key in keyof TAdapter]: Key extends string ? Key extends `${string}Sync` ? TAdapter[Key] : Key extends WeapiNonPromisifiedMethodName ? TAdapter[Key] : Key extends `on${Capitalize<string>}` | `off${Capitalize<string>}` ? TAdapter[Key] : PromisifyMethod<TAdapter[Key]> : TAdapter[Key]; };
8162
8186
  /**
8163
8187
  * @description 微信小程序 API 适配器类型
8164
8188
  */
@@ -8402,4 +8426,4 @@ type WeapiDouyinMethodName = WeapiMiniProgramDouyinMethodName;
8402
8426
  */
8403
8427
  declare const wpi: WeapiInstance<WeapiMiniProgramCrossPlatformRawAdapter>;
8404
8428
  //#endregion
8405
- export { type CreateWeapiOptions, WEAPI_PLATFORM_TYPE_SOURCES, WEAPI_RUNTIME_TYPE_SOURCES, WEAPI_TYPE_SOURCES, type WeapiAdapter, type WeapiAlipayAdapter, type WeapiAlipayMethodName, type WeapiAlipayMiniProgramRawAdapterSource, type WeapiAlipayRawAdapter, type WeapiCrossPlatformAdapter, type WeapiCrossPlatformRawAdapter, type WeapiDefaultMiniProgramRawAdapterSource, type WeapiDouyinAdapter, type WeapiDouyinMethodName, type WeapiDouyinMiniProgramRawAdapterSource, type WeapiDouyinRawAdapter, type WeapiInstance, type WeapiMethodSupportQueryOptions, type WeapiMiniProgramAdapter, type WeapiMiniProgramAlipayAdapter, type WeapiMiniProgramAlipayMethodName, type WeapiMiniProgramAlipayRawAdapter, type WeapiMiniProgramBluetoothError, type WeapiMiniProgramClipboardDataResult, type WeapiMiniProgramConnectSocketOption, type WeapiMiniProgramCrossPlatformAdapter, type WeapiMiniProgramCrossPlatformRawAdapter, type WeapiMiniProgramDouyinAdapter, type WeapiMiniProgramDouyinMethodName, type WeapiMiniProgramDouyinRawAdapter, type WeapiMiniProgramLogManager, type WeapiMiniProgramMethodName, type WeapiMiniProgramPlatformRawAdapterSourceName, type WeapiMiniProgramPlatformRawAdapterSourceRegistry, type WeapiMiniProgramRawAdapter, type WeapiMiniProgramRawAdapterSourceName, type WeapiMiniProgramRequestMethod, type WeapiMiniProgramRequestOption, type WeapiMiniProgramRequestSuccessResult, type WeapiMiniProgramRequestTask, type WeapiMiniProgramRuntimeRawAdapterSourceName, type WeapiMiniProgramRuntimeRawAdapterSourceRegistry, type WeapiMiniProgramSelectorQuery, type WeapiMiniProgramSocketTask, type WeapiMiniProgramSystemInfo, type WeapiMiniProgramUpdateManager, type WeapiMiniProgramVideoContext, type WeapiMiniProgramWechatMethodName, type WeapiMiniProgramWechatRawAdapter, type WeapiMiniProgramWxAdapter, type WeapiMiniProgramWxMethodName, type WeapiMiniProgramWxRawAdapter, type WeapiNetworkOptions, type WeapiNetworkOverflowPolicy, type WeapiPlatformTypeSourceName, type WeapiPromisify, type WeapiResolvedTarget, type WeapiRuntimeTypeSourceName, type WeapiSupportLevel, type WeapiTtMiniProgramRawAdapterSource, type WeapiTypeSourceName, type WeapiWechatMethodName, type WeapiWechatMiniProgramRawAdapterSource, type WeapiWechatRawAdapter, type WeapiWxAdapter, type WeapiWxMethodName, type WeapiWxRawAdapter, createWeapi, wpi };
8429
+ export { type CreateWeapiOptions, WEAPI_PLATFORM_TYPE_SOURCES, WEAPI_RUNTIME_TYPE_SOURCES, WEAPI_TYPE_SOURCES, type WeapiAdapter, type WeapiAlipayAdapter, type WeapiAlipayMethodName, type WeapiAlipayMiniProgramRawAdapterSource, type WeapiAlipayRawAdapter, type WeapiCrossPlatformAdapter, type WeapiCrossPlatformRawAdapter, type WeapiDefaultMiniProgramRawAdapterSource, type WeapiDouyinAdapter, type WeapiDouyinMethodName, type WeapiDouyinMiniProgramRawAdapterSource, type WeapiDouyinRawAdapter, type WeapiError, type WeapiInstance, type WeapiMethodSupportQueryOptions, type WeapiMiniProgramAdapter, type WeapiMiniProgramAlipayAdapter, type WeapiMiniProgramAlipayMethodName, type WeapiMiniProgramAlipayRawAdapter, type WeapiMiniProgramBluetoothError, type WeapiMiniProgramClipboardDataResult, type WeapiMiniProgramConnectSocketOption, type WeapiMiniProgramCrossPlatformAdapter, type WeapiMiniProgramCrossPlatformRawAdapter, type WeapiMiniProgramDouyinAdapter, type WeapiMiniProgramDouyinMethodName, type WeapiMiniProgramDouyinRawAdapter, type WeapiMiniProgramLogManager, type WeapiMiniProgramMethodName, type WeapiMiniProgramPlatformRawAdapterSourceName, type WeapiMiniProgramPlatformRawAdapterSourceRegistry, type WeapiMiniProgramRawAdapter, type WeapiMiniProgramRawAdapterSourceName, type WeapiMiniProgramRequestMethod, type WeapiMiniProgramRequestOption, type WeapiMiniProgramRequestSuccessResult, type WeapiMiniProgramRequestTask, type WeapiMiniProgramRuntimeRawAdapterSourceName, type WeapiMiniProgramRuntimeRawAdapterSourceRegistry, type WeapiMiniProgramSelectorQuery, type WeapiMiniProgramSocketTask, type WeapiMiniProgramSystemInfo, type WeapiMiniProgramUpdateManager, type WeapiMiniProgramVideoContext, type WeapiMiniProgramWechatMethodName, type WeapiMiniProgramWechatRawAdapter, type WeapiMiniProgramWxAdapter, type WeapiMiniProgramWxMethodName, type WeapiMiniProgramWxRawAdapter, type WeapiNetworkOptions, type WeapiNetworkOverflowPolicy, type WeapiPlatformTypeSourceName, type WeapiPromise, type WeapiPromisify, type WeapiResolvedTarget, type WeapiRuntimeTypeSourceName, type WeapiSupportLevel, type WeapiTtMiniProgramRawAdapterSource, type WeapiTypeSourceName, type WeapiWechatMethodName, type WeapiWechatMiniProgramRawAdapterSource, type WeapiWechatRawAdapter, type WeapiWxAdapter, type WeapiWxMethodName, type WeapiWxRawAdapter, createWeapi, wpi };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wevu/api",
3
3
  "type": "module",
4
- "version": "0.2.15",
4
+ "version": "0.2.17",
5
5
  "description": "tsdown bundler template",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -35,7 +35,7 @@
35
35
  "@douyin-microapp/typings": "^1.3.1",
36
36
  "@mini-types/alipay": "^3.0.14",
37
37
  "miniprogram-api-typings": "^5.2.3",
38
- "@weapp-core/shared": "3.1.0"
38
+ "@weapp-core/shared": "3.2.0"
39
39
  },
40
40
  "publishConfig": {
41
41
  "access": "public"
package/types/index.d.ts CHANGED
@@ -17,6 +17,7 @@ import type {
17
17
  WeapiDouyinMethodName,
18
18
  WeapiDouyinMiniProgramRawAdapterSource,
19
19
  WeapiDouyinRawAdapter,
20
+ WeapiError,
20
21
  WeapiInstance,
21
22
  WeapiMethodSupportQueryOptions,
22
23
  WeapiMiniProgramAdapter,
@@ -54,6 +55,7 @@ import type {
54
55
  WeapiMiniProgramWxMethodName,
55
56
  WeapiMiniProgramWxRawAdapter,
56
57
  WeapiPlatformTypeSourceName,
58
+ WeapiPromise,
57
59
  WeapiPromisify,
58
60
  WeapiResolvedTarget,
59
61
  WeapiRuntimeTypeSourceName,
@@ -86,6 +88,7 @@ export type {
86
88
  WeapiDouyinMethodName,
87
89
  WeapiDouyinMiniProgramRawAdapterSource,
88
90
  WeapiDouyinRawAdapter,
91
+ WeapiError,
89
92
  WeapiInstance,
90
93
  WeapiMethodSupportQueryOptions,
91
94
  WeapiMiniProgramAdapter,
@@ -123,6 +126,7 @@ export type {
123
126
  WeapiMiniProgramWxMethodName,
124
127
  WeapiMiniProgramWxRawAdapter,
125
128
  WeapiPlatformTypeSourceName,
129
+ WeapiPromise,
126
130
  WeapiPromisify,
127
131
  WeapiResolvedTarget,
128
132
  WeapiRuntimeTypeSourceName,