Skip to content
Prev Previous commit
Next Next commit
feat: formatting
  • Loading branch information
HaeckelK committed Feb 15, 2022
commit d531804c79b6ca4c19e2693bdb656e304833572c
28 changes: 15 additions & 13 deletions python-argparse-generator/src/__tests__/index.test.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
import { argparseCode, newArgument } from '../index';

test('Basic check of output', () => {
expect(
argparseCode([
{
name: 'folder',
type: 'str',
variableName: 'folder',
default: '/data',
required: true,
},
{ name: 'limit', type: 'int', variableName: 'limit', default: '10', required: true },
]),
).toBe(`import argparse
describe('Check Of argparseCode Output', () => {
test('Basic check of output', () => {
expect(
argparseCode([
{
name: 'folder',
type: 'str',
variableName: 'folder',
default: '/data',
required: true,
},
{ name: 'limit', type: 'int', variableName: 'limit', default: '10', required: true },
]),
).toBe(`import argparse
from typing import Dict, Any


Expand All @@ -39,6 +40,7 @@ if __name__ == '__main__':
main(folder=args["folder"],
limit=args["limit"])
`);
});
});

describe('New Argument Factory', () => {
Expand Down
18 changes: 10 additions & 8 deletions python-argparse-generator/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,17 @@ export type Settings = {
mainName: string;
cliName: string;
argsName: string;
}
};

export const defaultSettings = (): Settings => {
return {parserName: "parser",
typeHints: true,
mainContents: "# Contents of main",
mainName: "main",
cliName: "cli",
argsName: "args"};
return {
parserName: 'parser',
typeHints: true,
mainContents: '# Contents of main',
mainName: 'main',
cliName: 'cli',
argsName: 'args',
};
};

export type Argument = {
Expand Down Expand Up @@ -60,7 +62,7 @@ function argumentToText(argument: Argument, parserName: string) {

const argumentToMainParams = (argument: Argument) => `${argument.variableName}: ${argument.type}`;

export const argparseCode = (args: Argument[], settings: Settings = defaultSettings()) => {
export const argparseCode = (args: Argument[], settings: Settings = defaultSettings()) => {
const parserName: string = settings.parserName;
const argsName: string = settings.argsName;
const mainParameters: string[] = args.map((arg) => argumentToMainParams(arg));
Expand Down