Skip to content

Commit

Permalink
updating types
Browse files Browse the repository at this point in the history
  • Loading branch information
NiranjanaBinoy committed Oct 10, 2024
1 parent d8906f3 commit 68cb2b4
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions app/scripts/lib/rpc-method-middleware/handlers/send-metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,24 @@ import {
JsonRpcEngineEndCallback,
JsonRpcEngineNextCallback,
} from 'json-rpc-engine';
import {
Json,
JsonRpcParams,
JsonRpcRequest,
PendingJsonRpcResponse,
} from '@metamask/utils';
import type { PendingJsonRpcResponse } from '@metamask/utils';
import { isObject } from '@metamask/utils';
import {
PermissionSubjectMetadata,
SubjectType,
} from '@metamask/permission-controller';
import { MESSAGE_TYPE } from '../../../../../shared/constants/app';
import { HandlerWrapper } from './types';
import {
HandlerWrapper,
HandlerRequestType as SendMetadataHandlerRequest,
} from './types';

type SubjectMetadataToAdd = PermissionSubjectMetadata & {
name?: string | null;
subjectType?: SubjectType | null;
extensionId?: string | null;
iconUrl?: string | null;
} & Record<string, Json>;
};

type AddSubjectMetadata = (metadata: SubjectMetadataToAdd) => void;

Expand All @@ -30,9 +29,11 @@ type SendMetadataOptions = {
subjectType: SubjectType;
};

type SendMetadataConstraint<Params extends JsonRpcParams = JsonRpcParams> = {
type SendMetadataConstraint<
Params extends SubjectMetadataToAdd = SubjectMetadataToAdd,
> = {
implementation: (
req: JsonRpcRequest<Params>,
req: SendMetadataHandlerRequest<Params>,
res: PendingJsonRpcResponse<true>,
_next: JsonRpcEngineNextCallback,
end: JsonRpcEngineEndCallback,
Expand Down Expand Up @@ -64,15 +65,17 @@ export default sendMetadata;
* metadata, bound to the requesting origin.
* @param options.subjectType - The type of the requesting origin / subject.
*/
function sendMetadataHandler<Params extends JsonRpcParams = JsonRpcParams>(
req: JsonRpcRequest<Params>,
function sendMetadataHandler<
Params extends SubjectMetadataToAdd = SubjectMetadataToAdd,
>(
req: SendMetadataHandlerRequest<Params>,
res: PendingJsonRpcResponse<true>,
_next: JsonRpcEngineNextCallback,
end: JsonRpcEngineEndCallback,
{ addSubjectMetadata, subjectType }: SendMetadataOptions,
): void {
const { origin, params } = req;
if (params && typeof params === 'object' && !Array.isArray(params)) {
if (isObject(params)) {
const { icon = null, name = null, ...remainingParams } = params;

addSubjectMetadata({
Expand Down

0 comments on commit 68cb2b4

Please sign in to comment.