Skip to content

Commit

Permalink
Merge branch 'hoang/grpc-web' into merge-grpc-web
Browse files Browse the repository at this point in the history
# By hoangdv2429
# Via hoangdv2429 (4) and GitHub (1)
* hoang/grpc-web: (26 commits)
  snapshot
  minor fix & fixtures
  fixtures & WIP GrpcWebImpl for both
  camelCase fixtures
  WIP
  adding utils for GrpcWebImp
  types and fixtures for GgrpWebImpl
  finish GrpcWebImpl
  grpcWebImpl WIP
  type file change and remove GrpcWebImpl from utils
  remove unuse import
  fixtures and import
  add rpc interface & camelCase & return Desc for msg class
  remove import Rpc, use custom Rpc interface instead
  move grpcWebRpcInterface to grpcWeb file
  add grpc-web rpc interface & use of utils
  no more editor error
  remove unused import
  need to figure out what's wrong with interface
  WIP
  ...

# Conflicts:
#	packages/telescope/__tests__/telescope.test.ts
#	packages/telescope/src/generators/create-rpc-query-clients.ts
#	packages/telescope/src/utils/index.ts
  • Loading branch information
pyramation committed Feb 23, 2023
2 parents 003ce23 + bf80634 commit 26393ec
Show file tree
Hide file tree
Showing 108 changed files with 16,660 additions and 988 deletions.
113 changes: 108 additions & 5 deletions __fixtures__/v-next/outputv2/akash/audit/v1beta1/audit.rpc.msg.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
import { Attribute, AttributeSDKType } from "../../base/v1beta1/attribute";
import { UnaryMethodDefinitionish } from "../../../grpc-web";
import * as _m0 from "protobufjs/minimal";
import { grpc } from "@improbable-eng/grpc-web";
import { DeepPartial } from "../../../helpers";
import { grpc } from "@improbable-eng/grpc-web";
import { BrowserHeaders } from "browser-headers";
import { MsgSignProviderAttributes, MsgSignProviderAttributesSDKType, MsgSignProviderAttributesResponse, MsgSignProviderAttributesResponseSDKType, MsgDeleteProviderAttributes, MsgDeleteProviderAttributesSDKType, MsgDeleteProviderAttributesResponse, MsgDeleteProviderAttributesResponseSDKType } from "./audit";

/** Msg defines the provider Msg service */
export interface Msg {
/** SignProviderAttributes defines a method that signs provider attributes */
SignProviderAttributes(request: DeepPartial<MsgSignProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgSignProviderAttributesResponse>;
signProviderAttributes(request: DeepPartial<MsgSignProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgSignProviderAttributesResponse>;

/** DeleteProviderAttributes defines a method that deletes provider attributes */
DeleteProviderAttributes(request: DeepPartial<MsgDeleteProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgDeleteProviderAttributesResponse>;
deleteProviderAttributes(request: DeepPartial<MsgDeleteProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgDeleteProviderAttributesResponse>;
}
export class MsgClientImpl implements Msg {
private readonly rpc: Rpc;
Expand All @@ -22,11 +24,112 @@ export class MsgClientImpl implements Msg {
}

signProviderAttributes(request: DeepPartial<MsgSignProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgSignProviderAttributesResponse> {
return this.rpc.unary(MsgSignProviderAttributes, MsgSignProviderAttributes.fromPartial(request), metadata);
return this.rpc.unary(MsgSignProviderAttributesDesc, MsgSignProviderAttributes.fromPartial(request), metadata);
}

deleteProviderAttributes(request: DeepPartial<MsgDeleteProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgDeleteProviderAttributesResponse> {
return this.rpc.unary(MsgDeleteProviderAttributes, MsgDeleteProviderAttributes.fromPartial(request), metadata);
return this.rpc.unary(MsgDeleteProviderAttributesDesc, MsgDeleteProviderAttributes.fromPartial(request), metadata);
}

}
export const MsgDesc = {
serviceName: "akash.audit.v1beta1.Msg"
};
export const MsgSignProviderAttributesDesc: UnaryMethodDefinitionish = {
methodName: "SignProviderAttributes",
service: MsgDesc,
requestStream: false,
reponseStream: false,
requestType: ({
serializeBinary() {
return MsgSignProviderAttributes.encode(this).finish();
}

} as any),
responseType: ({
deserializeBinary(data: Uint8Array) {
return { ...MsgSignProviderAttributesResponse.decode(data),

toObject() {
return this;
}

};
}

} as any)
};
export const MsgDeleteProviderAttributesDesc: UnaryMethodDefinitionish = {
methodName: "DeleteProviderAttributes",
service: MsgDesc,
requestStream: false,
reponseStream: false,
requestType: ({
serializeBinary() {
return MsgDeleteProviderAttributes.encode(this).finish();
}

} as any),
responseType: ({
deserializeBinary(data: Uint8Array) {
return { ...MsgDeleteProviderAttributesResponse.decode(data),

toObject() {
return this;
}

};
}

} as any)
};
export interface Rpc {
unary<T extends UnaryMethodDefinitionish>(methodDesc: T, request: any, metadata: grpc.Metadata | undefined);
}
export class GrpcWebImpl {
host: string;
options: {
transport: grpc.TransportFactory;
debug: boolean;
metadata: grpc.Metadata;
};

constructor(host: string, options: {
transport: grpc.TransportFactory;
debug: boolean;
metadata: grpc.Metadata;
}) {
this.host = host;
this.options = options;
}

unary(methodDesc: T, _request: any, metadata: grpc.metadata | undefined) {
const request = { ..._request,
...methodDesc.requestType
};
const maybeCombinedMetadata = metadata && this.options.metadata ? new BrowserHeaders({ ...this.metadata?.options.headersMap,
...metadata?.headersMap
}) : metadata || this.options.metadata;
return new Promise((resolve, reject) => {
grpc.unary(methodDesc, {
request,
host: this.host,
metadata: maybeCombinedMetadata,
transport: this.options.transport,
debug: this.options.debug,
onEnd: function (response) {
if (response.status === grpc.Code.OK) {
resolve(response.message);
} else {
const err = (new Error(response.statusMessage) as any);
err.code = response.status;
err.code = response.metadata;
err.response = response.trailers;
reject(err);
}
}
});
});
}

}
113 changes: 108 additions & 5 deletions __fixtures__/v-next/outputv2/akash/audit/v1beta2/audit.rpc.msg.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
import { Attribute, AttributeSDKType } from "../../base/v1beta2/attribute";
import { UnaryMethodDefinitionish } from "../../../grpc-web";
import * as _m0 from "protobufjs/minimal";
import { grpc } from "@improbable-eng/grpc-web";
import { DeepPartial } from "../../../helpers";
import { grpc } from "@improbable-eng/grpc-web";
import { BrowserHeaders } from "browser-headers";
import { MsgSignProviderAttributes, MsgSignProviderAttributesSDKType, MsgSignProviderAttributesResponse, MsgSignProviderAttributesResponseSDKType, MsgDeleteProviderAttributes, MsgDeleteProviderAttributesSDKType, MsgDeleteProviderAttributesResponse, MsgDeleteProviderAttributesResponseSDKType } from "./audit";

/** Msg defines the provider Msg service */
export interface Msg {
/** SignProviderAttributes defines a method that signs provider attributes */
SignProviderAttributes(request: DeepPartial<MsgSignProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgSignProviderAttributesResponse>;
signProviderAttributes(request: DeepPartial<MsgSignProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgSignProviderAttributesResponse>;

/** DeleteProviderAttributes defines a method that deletes provider attributes */
DeleteProviderAttributes(request: DeepPartial<MsgDeleteProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgDeleteProviderAttributesResponse>;
deleteProviderAttributes(request: DeepPartial<MsgDeleteProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgDeleteProviderAttributesResponse>;
}
export class MsgClientImpl implements Msg {
private readonly rpc: Rpc;
Expand All @@ -22,11 +24,112 @@ export class MsgClientImpl implements Msg {
}

signProviderAttributes(request: DeepPartial<MsgSignProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgSignProviderAttributesResponse> {
return this.rpc.unary(MsgSignProviderAttributes, MsgSignProviderAttributes.fromPartial(request), metadata);
return this.rpc.unary(MsgSignProviderAttributesDesc, MsgSignProviderAttributes.fromPartial(request), metadata);
}

deleteProviderAttributes(request: DeepPartial<MsgDeleteProviderAttributes>, metadata?: grpc.Metadata): Promise<MsgDeleteProviderAttributesResponse> {
return this.rpc.unary(MsgDeleteProviderAttributes, MsgDeleteProviderAttributes.fromPartial(request), metadata);
return this.rpc.unary(MsgDeleteProviderAttributesDesc, MsgDeleteProviderAttributes.fromPartial(request), metadata);
}

}
export const MsgDesc = {
serviceName: "akash.audit.v1beta2.Msg"
};
export const MsgSignProviderAttributesDesc: UnaryMethodDefinitionish = {
methodName: "SignProviderAttributes",
service: MsgDesc,
requestStream: false,
reponseStream: false,
requestType: ({
serializeBinary() {
return MsgSignProviderAttributes.encode(this).finish();
}

} as any),
responseType: ({
deserializeBinary(data: Uint8Array) {
return { ...MsgSignProviderAttributesResponse.decode(data),

toObject() {
return this;
}

};
}

} as any)
};
export const MsgDeleteProviderAttributesDesc: UnaryMethodDefinitionish = {
methodName: "DeleteProviderAttributes",
service: MsgDesc,
requestStream: false,
reponseStream: false,
requestType: ({
serializeBinary() {
return MsgDeleteProviderAttributes.encode(this).finish();
}

} as any),
responseType: ({
deserializeBinary(data: Uint8Array) {
return { ...MsgDeleteProviderAttributesResponse.decode(data),

toObject() {
return this;
}

};
}

} as any)
};
export interface Rpc {
unary<T extends UnaryMethodDefinitionish>(methodDesc: T, request: any, metadata: grpc.Metadata | undefined);
}
export class GrpcWebImpl {
host: string;
options: {
transport: grpc.TransportFactory;
debug: boolean;
metadata: grpc.Metadata;
};

constructor(host: string, options: {
transport: grpc.TransportFactory;
debug: boolean;
metadata: grpc.Metadata;
}) {
this.host = host;
this.options = options;
}

unary(methodDesc: T, _request: any, metadata: grpc.metadata | undefined) {
const request = { ..._request,
...methodDesc.requestType
};
const maybeCombinedMetadata = metadata && this.options.metadata ? new BrowserHeaders({ ...this.metadata?.options.headersMap,
...metadata?.headersMap
}) : metadata || this.options.metadata;
return new Promise((resolve, reject) => {
grpc.unary(methodDesc, {
request,
host: this.host,
metadata: maybeCombinedMetadata,
transport: this.options.transport,
debug: this.options.debug,
onEnd: function (response) {
if (response.status === grpc.Code.OK) {
resolve(response.message);
} else {
const err = (new Error(response.statusMessage) as any);
err.code = response.status;
err.code = response.metadata;
err.response = response.trailers;
reject(err);
}
}
});
});
}

}
Loading

0 comments on commit 26393ec

Please sign in to comment.