diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2023-12-27 01:40:25 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-27 06:40:25 +0000 |
commit | 0094ff7babab6839ccef4c82fa46b8aa4f14198f (patch) | |
tree | 3beeb558b41a04948ff82cc1c34f5e44df65825e /types/ext | |
parent | 7cc20964b5ae69967945a802c4137be9052ea93b (diff) |
API map updates (#458)
* Rename
* Fix incorrect union types
* Update type names
* Fix types
Diffstat (limited to 'types/ext')
-rw-r--r-- | types/ext/api-map.d.ts | 4 | ||||
-rw-r--r-- | types/ext/api.d.ts | 4 | ||||
-rw-r--r-- | types/ext/offscreen.d.ts | 33 |
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]; |