HowlDev.Cli.TextDTO
0.1.1
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global HowlDev.Cli.TextDTO --version 0.1.1
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local HowlDev.Cli.TextDTO --version 0.1.1
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=HowlDev.Cli.TextDTO&version=0.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package HowlDev.Cli.TextDTO --version 0.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
HowlDev.Core
HowlDev.Core.TextDTO
This is a command-line NuGet package that you can install with:
dotnet tool install --global HowlDev.Cli.TextDTO
You can use it by:
textdto ./schemas cs ./api/dtos ts-z ./client/dtos
You can export a given file as a set of DTO's with any of the 3 following tags:
- cs
- Exports a C# file with an optional namespace in the format of a class with public get and set properties
- ts
- Creates a Type that has the provided properties
- Ignores the Default property (impossible with type definitions)
- Nullable means undefined, the default null state for things in JavaScript
- Creates a Type that has the provided properties
- ts-z
- Creates a Zod object with the provided properties (you must install Zod yourself)
- Names are appended with Schema for Zod parsing and Type for the type inference. Both are exported.
File structure
The files you pass in from the schemas folder needs to be parsable by the most recent version of the ConfigFileLibrary. Currently, that supports JSON and YAML files.
Here's the structure:
{
"name": "IdAndTitleDTO", // Required
"namespace": "ProjectTracker.Classes", // This is an optional thing for C# classes only (only file-scoped is available)
"ignoreWarnings": true, // Also optional; uses the language-specific disable of warnings
"properties": [
{
"name": "Id", // These two properties are required
"type": "int",
"default": "Unknown", // You can assign a default value here (optional param)
"nullable": true // You can make a property optional (optional param)
},
... // Add as many properties here as needed
]
}
The current list of types supported are C# primitives. They are all converted to a TS type when being added to a TS file.
- string
- string for JS, TS, Zod, and C#
- int, uint, byte, long, double, etc.
- ___ for C#, number for JS, TS, and Zod
- bool
- bool for C#, boolean for JS, TS, and Zod
For C#, you can also put items in the same namespace and reference them as type fields. For instance, if you had a class Calculator then you could reference it in a type as follows:
{
"name": "Id", // These two properties are required
"type": "int",
"default": "Unknown", // You can assign a default value here (optional param)
"nullable": true // You can make a property optional (optional param)
},
Arrays are not yet supported.
Changelog
0.1.0 (1/8/26)
- Initialized
- Only primitives are really supported. No type checking happens.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.4.0 | 126 | 2/27/2026 |
| 0.4.0-beta.1 | 64 | 2/27/2026 |
| 0.4.0-beta | 106 | 2/20/2026 |
| 0.3.5 | 102 | 2/17/2026 |
| 0.3.4 | 102 | 2/17/2026 |
| 0.3.3 | 105 | 2/17/2026 |
| 0.3.2 | 104 | 2/17/2026 |
| 0.3.1 | 102 | 2/17/2026 |
| 0.3.0 | 111 | 2/17/2026 |
| 0.2.1 | 116 | 2/6/2026 |
| 0.2.0 | 110 | 2/4/2026 |
| 0.1.2 | 110 | 2/3/2026 |
| 0.1.1 | 125 | 1/8/2026 |
| 0.1.0 | 117 | 1/8/2026 |