Skip to content

Commit 516f05b

Browse files
feat: converting versionNumber to number
1 parent 64e9c04 commit 516f05b

File tree

5 files changed

+17
-24
lines changed

5 files changed

+17
-24
lines changed

src/generate-docs.ts

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { writeSchemaFile } from "./helpers/writeSchemaFile.js";
88

99
//Note: contract file name must include term 'Contract' to be parsed
1010
const getContractFileNames = async (
11-
pathToContracts: string,
11+
pathToContracts: string
1212
): Promise<string[]> => {
1313
const files = await readdir(pathToContracts);
1414

@@ -17,34 +17,29 @@ const getContractFileNames = async (
1717

1818
export const generateDocumentation = async (
1919
pathToContractsFolder: string,
20-
pathToDocumentationFolder: string,
20+
pathToDocumentationFolder: string
2121
): Promise<void> => {
2222
const contractFileNames = await getContractFileNames(pathToContractsFolder);
2323

2424
for (const contractFileName of contractFileNames) {
2525
const { detailType, detailVersion, schema } = generateSchemaDetails(
2626
pathToContractsFolder,
27-
contractFileName,
27+
contractFileName
2828
);
2929

3030
const pathToContractDocumentationFolder = path.join(
31-
`${pathToDocumentationFolder}/${detailType}/versioned/${detailVersion}`,
31+
`${pathToDocumentationFolder}/${detailType}/versioned/${detailVersion}`
3232
);
3333

3434
mkdirSync(pathToContractDocumentationFolder, { recursive: true });
3535

3636
await writeIndexFile(
3737
pathToContractDocumentationFolder,
3838
detailType,
39-
detailVersion,
39+
detailVersion
4040
);
4141

42-
await writeSchemaFile(pathToContractDocumentationFolder, {
43-
detailType,
44-
detailVersion,
45-
schema,
46-
});
47-
42+
await writeSchemaFile(pathToContractDocumentationFolder, schema);
4843
console.log(`Created docs for ${contractFileName}`);
4944
}
5045
};

src/helpers/generateSchemaDetails.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { SchemaDetails } from "../types.js";
88

99
export const generateSchemaDetails = (
1010
pathToContractsFolder: string,
11-
contractFilename: string,
11+
contractFilename: string
1212
): SchemaDetails => {
1313
const pathToContractFile = path.join(pathToContractsFolder, contractFilename);
1414

@@ -20,17 +20,15 @@ export const generateSchemaDetails = (
2020
};
2121

2222
const contractSchema = createGenerator(typeToSchemaConfig).createSchema(
23-
typeToSchemaConfig.type,
23+
typeToSchemaConfig.type
2424
);
2525

2626
//TODO: validate that detailType would be a valid filename
2727
if (isValidJsonSchemaContract(contractSchema)) {
2828
return {
2929
detailType: contractSchema.properties["detail-type"].const,
3030
detailVersion:
31-
contractSchema.properties.detail.properties[
32-
"detail-version"
33-
].const.toString(),
31+
contractSchema.properties.detail.properties["detail-version"].const,
3432
schema: contractSchema,
3533
};
3634
} else {

src/helpers/writeIndexFile.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ const eventMarkdownTemplate =
2121
export const writeIndexFile = async (
2222
pathToContractDocumentationFolder: string,
2323
detailType: string,
24-
detailVersion: string,
24+
detailVersion: number,
2525
): Promise<void> => {
2626
const markdownWithName = eventMarkdownTemplate.replace(
2727
"//name//",
2828
detailType,
2929
);
3030
const markdownWithVersion = markdownWithName.replace(
3131
"//version//",
32-
detailVersion,
32+
detailVersion.toString(),
3333
);
3434

3535
await writeFile(

src/helpers/writeSchemaFile.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
import { writeFile } from "fs/promises";
22

3-
import { SchemaDetails } from "../types.js";
3+
import { ContractSchemaType } from "../types.js";
44

55
export const writeSchemaFile = async (
66
pathToContractDocumentationFolder: string,
7-
schemaDetails: SchemaDetails,
7+
schema: ContractSchemaType
88
): Promise<void> => {
99
const jsonSchemaWhiteSpace = 2;
1010
const schemaString = JSON.stringify(
11-
schemaDetails.schema,
11+
schema,
1212
null,
13-
jsonSchemaWhiteSpace,
13+
jsonSchemaWhiteSpace
1414
);
1515

1616
await writeFile(
1717
`${pathToContractDocumentationFolder}/schema.json`,
18-
schemaString,
18+
schemaString
1919
);
2020
};

src/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export type SchemaDetails = {
22
detailType: string;
3-
detailVersion: string;
3+
detailVersion: number;
44
schema: ContractSchemaType;
55
};
66

0 commit comments

Comments
 (0)