Skip to content

Commit

Permalink
grpc-web msg client
Browse files Browse the repository at this point in the history
  • Loading branch information
hoangdv2429 committed May 16, 2023
1 parent 29965ff commit 5bbdf7b
Show file tree
Hide file tree
Showing 8 changed files with 534 additions and 349 deletions.
159 changes: 93 additions & 66 deletions __fixtures__/v-next/outputv2/akash/rpc.tx.ts
Original file line number Diff line number Diff line change
@@ -1,69 +1,96 @@
import { Rpc } from "../helpers";
import { grpc } from "@improbable-eng/grpc-web";
import { NodeHttpTransport } from "@improbable-eng/grpc-web-node-http-transport";
export const createRPCMsgClient = async ({
rpc
grpcWebEndpoint
}: {
rpc: Rpc;
}) => ({
akash: {
audit: {
v1beta1: new (await import("./audit/v1beta1/audit.rpc.msg")).MsgClientImpl(rpc),
v1beta2: new (await import("./audit/v1beta2/audit.rpc.msg")).MsgClientImpl(rpc)
},
cert: {
v1beta2: new (await import("./cert/v1beta2/cert.rpc.msg")).MsgClientImpl(rpc)
},
deployment: {
v1beta1: new (await import("./deployment/v1beta1/deployment.rpc.msg")).MsgClientImpl(rpc),
v1beta2: new (await import("./deployment/v1beta2/service.rpc.msg")).MsgClientImpl(rpc)
},
market: {
v1beta2: new (await import("./market/v1beta2/service.rpc.msg")).MsgClientImpl(rpc)
},
provider: {
v1beta1: new (await import("./provider/v1beta1/provider.rpc.msg")).MsgClientImpl(rpc),
v1beta2: new (await import("./provider/v1beta2/provider.rpc.msg")).MsgClientImpl(rpc)
}
},
cosmos: {
authz: {
v1beta1: new (await import("../cosmos/authz/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
bank: {
v1beta1: new (await import("../cosmos/bank/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
crisis: {
v1beta1: new (await import("../cosmos/crisis/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
distribution: {
v1beta1: new (await import("../cosmos/distribution/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
evidence: {
v1beta1: new (await import("../cosmos/evidence/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
feegrant: {
v1beta1: new (await import("../cosmos/feegrant/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
gov: {
v1: new (await import("../cosmos/gov/v1/tx.rpc.msg")).MsgClientImpl(rpc),
v1beta1: new (await import("../cosmos/gov/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
group: {
v1: new (await import("../cosmos/group/v1/tx.rpc.msg")).MsgClientImpl(rpc)
},
nft: {
v1beta1: new (await import("../cosmos/nft/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
slashing: {
v1beta1: new (await import("../cosmos/slashing/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
staking: {
v1beta1: new (await import("../cosmos/staking/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
upgrade: {
v1beta1: new (await import("../cosmos/upgrade/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
vesting: {
v1beta1: new (await import("../cosmos/vesting/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
}
grpcWebEndpoint: {
grpcWebEndpoint: string;
};
}) => {
grpcWebEndpoint = grpcWebEndpoint.replace(/\/*$/, "\"\"");
const {
GrpcWebImpl
} = await import("../cosmos/app/v1alpha1/query.rpc.Query");
let grpcWeb;

if (typeof document !== "undefined") {
grpcWeb = new GrpcWebImpl(grpcWebEndpoint, {
transport: grpc.CrossBrowserHttpTransport({
withCredentials: false
})
});
} else if (typeof navigator !== "undefined" && navigator.product === "ReactNative") {
grpcWeb = new GrpcWebImpl(grpcWebEndpoint, {
transport: NodeHttpTransport()
});
} else {
grpcWeb = new GrpcWebImpl(grpcWebEndpoint, {
transport: NodeHttpTransport()
});
}
});

return {
akash: {
audit: {
v1beta1: new (await import("./audit/v1beta1/audit.rpc.msg")).MsgClientImpl(grpcWeb),
v1beta2: new (await import("./audit/v1beta2/audit.rpc.msg")).MsgClientImpl(grpcWeb)
},
cert: {
v1beta2: new (await import("./cert/v1beta2/cert.rpc.msg")).MsgClientImpl(grpcWeb)
},
deployment: {
v1beta1: new (await import("./deployment/v1beta1/deployment.rpc.msg")).MsgClientImpl(grpcWeb),
v1beta2: new (await import("./deployment/v1beta2/service.rpc.msg")).MsgClientImpl(grpcWeb)
},
market: {
v1beta2: new (await import("./market/v1beta2/service.rpc.msg")).MsgClientImpl(grpcWeb)
},
provider: {
v1beta1: new (await import("./provider/v1beta1/provider.rpc.msg")).MsgClientImpl(grpcWeb),
v1beta2: new (await import("./provider/v1beta2/provider.rpc.msg")).MsgClientImpl(grpcWeb)
}
},
cosmos: {
authz: {
v1beta1: new (await import("../cosmos/authz/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
bank: {
v1beta1: new (await import("../cosmos/bank/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
crisis: {
v1beta1: new (await import("../cosmos/crisis/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
distribution: {
v1beta1: new (await import("../cosmos/distribution/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
evidence: {
v1beta1: new (await import("../cosmos/evidence/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
feegrant: {
v1beta1: new (await import("../cosmos/feegrant/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
gov: {
v1: new (await import("../cosmos/gov/v1/tx.rpc.msg")).MsgClientImpl(grpcWeb),
v1beta1: new (await import("../cosmos/gov/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
group: {
v1: new (await import("../cosmos/group/v1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
nft: {
v1beta1: new (await import("../cosmos/nft/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
slashing: {
v1beta1: new (await import("../cosmos/slashing/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
staking: {
v1beta1: new (await import("../cosmos/staking/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
upgrade: {
v1beta1: new (await import("../cosmos/upgrade/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
vesting: {
v1beta1: new (await import("../cosmos/vesting/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
}
}
};
};
119 changes: 73 additions & 46 deletions __fixtures__/v-next/outputv2/cosmos/rpc.tx.ts
Original file line number Diff line number Diff line change
@@ -1,49 +1,76 @@
import { Rpc } from "../helpers";
import { grpc } from "@improbable-eng/grpc-web";
import { NodeHttpTransport } from "@improbable-eng/grpc-web-node-http-transport";
export const createRPCMsgClient = async ({
rpc
grpcWebEndpoint
}: {
rpc: Rpc;
}) => ({
cosmos: {
authz: {
v1beta1: new (await import("./authz/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
bank: {
v1beta1: new (await import("./bank/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
crisis: {
v1beta1: new (await import("./crisis/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
distribution: {
v1beta1: new (await import("./distribution/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
evidence: {
v1beta1: new (await import("./evidence/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
feegrant: {
v1beta1: new (await import("./feegrant/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
gov: {
v1: new (await import("./gov/v1/tx.rpc.msg")).MsgClientImpl(rpc),
v1beta1: new (await import("./gov/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
group: {
v1: new (await import("./group/v1/tx.rpc.msg")).MsgClientImpl(rpc)
},
nft: {
v1beta1: new (await import("./nft/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
slashing: {
v1beta1: new (await import("./slashing/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
staking: {
v1beta1: new (await import("./staking/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
upgrade: {
v1beta1: new (await import("./upgrade/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
},
vesting: {
v1beta1: new (await import("./vesting/v1beta1/tx.rpc.msg")).MsgClientImpl(rpc)
}
grpcWebEndpoint: {
grpcWebEndpoint: string;
};
}) => {
grpcWebEndpoint = grpcWebEndpoint.replace(/\/*$/, "\"\"");
const {
GrpcWebImpl
} = await import("../cosmos/app/v1alpha1/query.rpc.Query");
let grpcWeb;

if (typeof document !== "undefined") {
grpcWeb = new GrpcWebImpl(grpcWebEndpoint, {
transport: grpc.CrossBrowserHttpTransport({
withCredentials: false
})
});
} else if (typeof navigator !== "undefined" && navigator.product === "ReactNative") {
grpcWeb = new GrpcWebImpl(grpcWebEndpoint, {
transport: NodeHttpTransport()
});
} else {
grpcWeb = new GrpcWebImpl(grpcWebEndpoint, {
transport: NodeHttpTransport()
});
}
});

return {
cosmos: {
authz: {
v1beta1: new (await import("./authz/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
bank: {
v1beta1: new (await import("./bank/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
crisis: {
v1beta1: new (await import("./crisis/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
distribution: {
v1beta1: new (await import("./distribution/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
evidence: {
v1beta1: new (await import("./evidence/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
feegrant: {
v1beta1: new (await import("./feegrant/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
gov: {
v1: new (await import("./gov/v1/tx.rpc.msg")).MsgClientImpl(grpcWeb),
v1beta1: new (await import("./gov/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
group: {
v1: new (await import("./group/v1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
nft: {
v1beta1: new (await import("./nft/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
slashing: {
v1beta1: new (await import("./slashing/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
staking: {
v1beta1: new (await import("./staking/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
upgrade: {
v1beta1: new (await import("./upgrade/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
},
vesting: {
v1beta1: new (await import("./vesting/v1beta1/tx.rpc.msg")).MsgClientImpl(grpcWeb)
}
}
};
};
Loading

0 comments on commit 5bbdf7b

Please sign in to comment.