@wevu/api 0.2.4 → 0.2.5

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.
Files changed (2) hide show
  1. package/dist/index.d.mts +4 -1
  2. package/package.json +3 -2
package/dist/index.d.mts CHANGED
@@ -8151,10 +8151,13 @@ type DecomposeTrailingArg<Args extends any[]> = NormalizeTupleArgs<Args> extends
8151
8151
  last: Last;
8152
8152
  } : never;
8153
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>>;
8154
8157
  type PromisifyMethod<TMethod> = TMethod extends ((...args: infer Args) => infer Result) ? Args extends [] ? (...args: Args) => NormalizePromisifyReturn<Result> : DecomposeTrailingArg<Args> extends {
8155
8158
  prefix: infer Prefix extends any[];
8156
8159
  last: infer Last;
8157
- } ? true extends HasCallbackKey<NonNullable<Last>> ? PromisifyOptionMethod<Prefix, NonNullable<Last>, Result, IsOptionalTrailingArg<Args, Prefix>> : (...args: Args) => NormalizePromisifyReturn<Result> : (...args: Args) => NormalizePromisifyReturn<Result> : TMethod;
8160
+ } ? true extends HasCallbackKey<NonNullable<Last>> ? PromisifyOptionMethod<Prefix, NonNullable<Last>, Result, IsOmittableTrailingArg<Args, Prefix, Last>> : (...args: Args) => NormalizePromisifyReturn<Result> : (...args: Args) => NormalizePromisifyReturn<Result> : TMethod;
8158
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] };
8159
8162
  /**
8160
8163
  * @description 微信小程序 API 适配器类型
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wevu/api",
3
3
  "type": "module",
4
- "version": "0.2.4",
4
+ "version": "0.2.5",
5
5
  "description": "tsdown bundler template",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -53,13 +53,14 @@
53
53
  "catalog:sync": "node ./scripts/sync-api-catalog.mjs",
54
54
  "catalog:check": "node ./scripts/sync-api-catalog.mjs --check",
55
55
  "strict-alias:check": "node --import tsx ./scripts/check-strict-alias-guard.mjs",
56
+ "omittable-option:check": "node ./scripts/check-omittable-option-guard.mjs",
56
57
  "coverage:check": "node --import tsx ./scripts/check-coverage-guard.mjs",
57
58
  "structure:check": "node ./scripts/check-structure-guard.mjs",
58
59
  "strict-alias:scan": "node --import tsx ./scripts/scan-strict-alias-candidates.mjs",
59
60
  "docs:sync": "node --import tsx ./scripts/sync-support-matrix.ts",
60
61
  "docs:check": "node --import tsx ./scripts/sync-support-matrix.ts --check",
61
62
  "report:api": "node --import tsx ./scripts/generate-api-report.mjs",
62
- "prebuild": "pnpm run structure:check && pnpm run typecheck && pnpm run typecheck:test && pnpm run catalog:check && pnpm run docs:check && pnpm run strict-alias:check && pnpm run coverage:check",
63
+ "prebuild": "pnpm run structure:check && pnpm run typecheck && pnpm run typecheck:test && pnpm run catalog:check && pnpm run docs:check && pnpm run strict-alias:check && pnpm run omittable-option:check && pnpm run coverage:check",
63
64
  "typecheck": "tsc --noEmit -p tsconfig.json",
64
65
  "typecheck:test": "tsc --noEmit -p tsconfig.test.json"
65
66
  }