Skip to content

Commit

Permalink
fix(grpc-mock): stable generation servicePort
Browse files Browse the repository at this point in the history
  • Loading branch information
liangskyli committed Dec 10, 2023
1 parent 9b8dfc7 commit 1a8c68c
Showing 1 changed file with 56 additions and 50 deletions.
106 changes: 56 additions & 50 deletions packages/grpc-mock/src/gen/gen-mock-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,59 +84,65 @@ const genMockData = async (
const rootObject = require(rootPath);
await Promise.all(
Object.keys(rootObject).map(async (spaceServerName) => {
const serverName: string =
rootPathServerNameMap?.[spaceServerName] ?? spaceServerName;
const root = protobufjs.Root.fromJSON(rootObject[spaceServerName]);
const result: IInspectNamespace = inspectNamespace(root);
const { services, methods } = result!;
const genServiceMockData = new GenServiceMockData({
genServerPath,
prettierOptions,
});
const longsTypeToString = loaderOptions.longs === String;
return { spaceServerName, servicePort: servicePort++ };
}),
).then(async (serverItems) => {
return await Promise.all(
serverItems.map(async (curServer) => {
const { spaceServerName, servicePort } = curServer;
const serverName: string =
rootPathServerNameMap?.[spaceServerName] ?? spaceServerName;
const root = protobufjs.Root.fromJSON(rootObject[spaceServerName]);
const result: IInspectNamespace = inspectNamespace(root);
const { services, methods } = result!;
const genServiceMockData = new GenServiceMockData({
genServerPath,
prettierOptions,
});
const longsTypeToString = loaderOptions.longs === String;

await Promise.all(
services.map(async (service, index) => {
const protoName = service.fullName.split('.')[0];
const protoPath = `${spaceServerName}.${service.fullName}`;
const serviceCodeName = firstWordNeedLetter(service.name);
await Promise.all(
services.map(async (service, index) => {
const protoName = service.fullName.split('.')[0];
const protoPath = `${spaceServerName}.${service.fullName}`;
const serviceCodeName = firstWordNeedLetter(service.name);

await new GenProtoMockData({
index,
genCustomDataPath,
serviceCodeName,
protoPath,
methods,
protoName,
root,
longsTypeToString,
prettierOptions,
genProtoPath,
serverName,
}).generator();
await new GenProtoMockData({
index,
genCustomDataPath,
serviceCodeName,
protoPath,
methods,
protoName,
root,
longsTypeToString,
prettierOptions,
genProtoPath,
serverName,
}).generator();

genServiceMockData.importService({
index,
serverName,
protoName,
serviceCodeName,
});
}),
);
const spaceServerNameMock = `${firstUpperCaseOfWord(
spaceServerName,
)}Mock`;
genServiceMockData.mockServerCode({
spaceServerNameMock,
serverName,
servicePort,
});
genGrpcServiceMockConfig.body({ serverName, servicePort });
servicePort++;
await genServiceMockData.writeFile(spaceServerNameMock);
genIndex.importServiceMock({ spaceServerNameMock });
}),
);
genServiceMockData.importService({
index,
serverName,
protoName,
serviceCodeName,
});
}),
);
const spaceServerNameMock = `${firstUpperCaseOfWord(
spaceServerName,
)}Mock`;
genServiceMockData.mockServerCode({
spaceServerNameMock,
serverName,
servicePort,
});
genGrpcServiceMockConfig.body({ serverName, servicePort });
await genServiceMockData.writeFile(spaceServerNameMock);
genIndex.importServiceMock({ spaceServerNameMock });
}),
);
});
// index.ts
await genIndex.writeFile();

Expand Down

0 comments on commit 1a8c68c

Please sign in to comment.