aboutsummaryrefslogtreecommitdiff
path: root/types
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2023-12-27 01:40:25 -0500
committerGitHub <noreply@github.com>2023-12-27 06:40:25 +0000
commit0094ff7babab6839ccef4c82fa46b8aa4f14198f (patch)
tree3beeb558b41a04948ff82cc1c34f5e44df65825e /types
parent7cc20964b5ae69967945a802c4137be9052ea93b (diff)
API map updates (#458)
* Rename * Fix incorrect union types * Update type names * Fix types
Diffstat (limited to 'types')
-rw-r--r--types/ext/api-map.d.ts4
-rw-r--r--types/ext/api.d.ts4
-rw-r--r--types/ext/offscreen.d.ts33
3 files changed, 24 insertions, 17 deletions
diff --git a/types/ext/api-map.d.ts b/types/ext/api-map.d.ts
index 4a4eb87c..8c3215cf 100644
--- a/types/ext/api-map.d.ts
+++ b/types/ext/api-map.d.ts
@@ -109,7 +109,7 @@ export type ApiFunctionOrdered<TSurface extends ApiSurface, TName extends ApiNam
) => Promise<ApiReturn<TSurface[TName]>>;
/** Type alias for a union of all params types. */
-export type ApiParamsAny<TSurface extends ApiSurface> = ApiParams<TSurface[keyof TSurface]>;
+export type ApiParamsAny<TSurface extends ApiSurface> = {[name in ApiNames<TSurface>]: ApiParams<TSurface[name]>}[ApiNames<TSurface>];
/** Type alias for a union of all return types. */
-export type ApiReturnAny<TSurface extends ApiSurface> = ApiReturn<TSurface[keyof TSurface]>;
+export type ApiReturnAny<TSurface extends ApiSurface> = {[name in ApiNames<TSurface>]: ApiReturn<TSurface[name]>}[ApiNames<TSurface>];
diff --git a/types/ext/api.d.ts b/types/ext/api.d.ts
index 2d23040c..ad3aa22c 100644
--- a/types/ext/api.d.ts
+++ b/types/ext/api.d.ts
@@ -399,9 +399,9 @@ export type ApiReturn<TName extends ApiNames> = BaseApiReturn<ApiSurface[TName]>
export type ApiParamsAny = BaseApiParamsAny<ApiSurface>;
-export type MessageAny = Message<ApiNames>;
+export type ApiMessageAny = {[name in ApiNames]: ApiMessage<name>}[ApiNames];
-type Message<TName extends ApiNames> = {
+type ApiMessage<TName extends ApiNames> = {
action: TName;
params: ApiParams<TName>;
};
diff --git a/types/ext/offscreen.d.ts b/types/ext/offscreen.d.ts
index 511c32bd..9b1d844a 100644
--- a/types/ext/offscreen.d.ts
+++ b/types/ext/offscreen.d.ts
@@ -22,9 +22,16 @@ import type * as DictionaryImporter from './dictionary-importer';
import type * as Environment from './environment';
import type * as Translation from './translation';
import type * as Translator from './translator';
-import type {ApiMap, ApiMapInit, ApiHandler, ApiParams, ApiReturn, ApiNames} from './api-map';
+import type {
+ ApiMap as BaseApiMap,
+ ApiMapInit as BaseApiMapInit,
+ ApiHandler as BaseApiHandler,
+ ApiParams as BaseApiParams,
+ ApiReturn as BaseApiReturn,
+ ApiNames as BaseApiNames,
+} from './api-map';
-type OffscreenApiSurface = {
+type ApiSurface = {
databasePrepareOffscreen: {
params: void;
return: void;
@@ -93,13 +100,13 @@ type OffscreenApiSurface = {
};
};
-export type Message<TName extends MessageType> = (
- OffscreenApiParams<TName> extends void ?
- {action: TName} :
- {action: TName, params: OffscreenApiParams<TName>}
+export type ApiMessage<TName extends ApiNames> = (
+ ApiParams<TName> extends void ?
+ {action: TName, params?: never} :
+ {action: TName, params: ApiParams<TName>}
);
-export type MessageType = ApiNames<OffscreenApiSurface>;
+export type ApiNames = BaseApiNames<ApiSurface>;
export type FindKanjiOptionsOffscreen = Omit<Translation.FindKanjiOptions, 'enabledDictionaryMap'> & {
enabledDictionaryMap: [
@@ -121,14 +128,14 @@ export type FindTermsTextReplacementOffscreen = Omit<Translation.FindTermsTextRe
pattern: string;
};
-export type OffscreenApiMap = ApiMap<OffscreenApiSurface>;
+export type ApiMap = BaseApiMap<ApiSurface>;
-export type OffscreenApiMapInit = ApiMapInit<OffscreenApiSurface>;
+export type ApiMapInit = BaseApiMapInit<ApiSurface>;
-export type OffscreenApiHandler<TName extends MessageType> = ApiHandler<OffscreenApiSurface[TName]>;
+export type ApiHandler<TName extends ApiNames> = BaseApiHandler<ApiSurface[TName]>;
-export type OffscreenApiParams<TName extends MessageType> = ApiParams<OffscreenApiSurface[TName]>;
+export type ApiParams<TName extends ApiNames> = BaseApiParams<ApiSurface[TName]>;
-export type OffscreenApiReturn<TName extends MessageType> = ApiReturn<OffscreenApiSurface[TName]>;
+export type ApiReturn<TName extends ApiNames> = BaseApiReturn<ApiSurface[TName]>;
-export type MessageAny = Message<MessageType>;
+export type ApiMessageAny = {[name in ApiNames]: ApiMessage<name>}[ApiNames];