0.1.0 • Published 11 months ago

interface-to-class-converter v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

Interface to Class Converter

Convert TypeScript interfaces to classes with ease. This CLI tool allows you to quickly generate TypeScript classes from your interfaces, including handling inheritance, constructor generation, and property typing.

Installation

You can install the package globally or use it with npx.

Global Installation

npm install -g interface-to-class-converter

Usage with npx

npx interface-to-class-converter <inputFilePath> <outputFilePath> [excludeNamespaces] [excludeInterfaces]

Usage

Basic Usage

You can use interface-to-class-converter to generate classes from a TypeScript file containing interfaces. Simply provide the input file path and the output file path.

npx interface-to-class-converter src/interfaces.ts dist/classes.ts

Excluding Specific Namespaces

If you want to exclude certain namespaces from the conversion process, you can provide a comma-separated list of namespaces to exclude.

npx interface-to-class-converter src/interfaces.ts dist/classes.ts "namespace1,namespace2"

Excluding Specific Interfaces

Similarly, you can exclude specific interfaces that are not within namespaces.

npx interface-to-class-converter src/interfaces.ts dist/classes.ts "" "Interface1,Interface2"

Example

Input (interfaces.ts)

export namespace std {
  export interface BaseObject {
    id: string;
  }
  export interface $Object extends BaseObject {}
  export interface FreeObject extends BaseObject {}
}

Output (classes.ts)

class BaseObject {
  public id: string;

  constructor(id: string) {
    this.id = id;
  }
}

class $Object extends BaseObject {
  public id: string;

  constructor(id: string) {
    super(id);
    this.id = id;
  }
}

class FreeObject extends BaseObject {
  public id: string;

  constructor(id: string) {
    super(id);
    this.id = id;
  }
}

Advanced Usage

You can integrate this tool into your build process or use it as part of a larger TypeScript code generation workflow.

Adding to package.json scripts

{
  "scripts": {
    "generate-classes": "interface-to-class-converter src/interfaces.ts dist/classes.ts"
  }
}

Run it with:

npm run generate-classes

Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions, feel free to open an issue on GitHub or reach out to me directly.

Author

0.1.0

11 months ago

0.0.8

11 months ago

0.0.7

11 months ago

0.0.6

11 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago