TSMapperConfiguration 1.0.4
dotnet add package TSMapperConfiguration --version 1.0.4
NuGet\Install-Package TSMapperConfiguration -Version 1.0.4
<PackageReference Include="TSMapperConfiguration" Version="1.0.4" />
<PackageVersion Include="TSMapperConfiguration" Version="1.0.4" />
<PackageReference Include="TSMapperConfiguration" />
paket add TSMapperConfiguration --version 1.0.4
#r "nuget: TSMapperConfiguration, 1.0.4"
#:package TSMapperConfiguration@1.0.4
#addin nuget:?package=TSMapperConfiguration&version=1.0.4
#tool nuget:?package=TSMapperConfiguration&version=1.0.4
TSMapperConfiguration
A helper NuGet package used with TSMapper to control how C# models are converted into TypeScript definitions using explicit attributes.
This package provides a clean and explicit way for developers to customize the generated TypeScript output without relying on assumptions or conventions that may not fit all projects.
Why TSMapperConfiguration?
When generating TypeScript code from C#, several challenges appear:
Mapping complex C# types instead of falling back to any
Ignoring specific properties during generation
Controlling which base classes or interfaces should appear in TypeScript
Keeping generation logic decoupled from project-specific rules
This package solves these problems by allowing you to annotate your C# code with simple, clear attributes.
Available Attributes
TSFieldAttribute
Forces a property to be generated using a specific TypeScript type name.
using TSMapperConfiguration; [TSMappingEntity] public class Product {
[TSField(FieldType = "'Home' | 'Work' | 'Other'", DefaultValue = "'Home'",FieldName = "Address_Type_Name")] public string AddressTypeName { get; set; } = "";
}
Generated TypeScript: export interface Product {
public Address_Type_Name: 'Home'|'Work'|'Other' = 'Home';
}
Without this attribute, the property would typically be generated as any.
IgnoreTSMappingAttribute
Prevents a property from being included in the generated TypeScript output.
using TSMapperConfiguration;
public class User
{
public int Id { get; set; }
[IgnoreTSMapping] public string InternalToken { get; set; }
}
Generated TypeScript:
export interface User {
Id: number;
}
Attribute: IncludedBases
IncludedBases allows you to explicitly control which base class and interfaces are included in the generated TypeScript output.
[IncludedBases(BaseClass = "EntityBase", Interfaces = "IEntityBase")]
public class Product : EntityBase, IEntityBase, IDisposable
{
}
export class Product extends EntityBase, implements IEntityBase{
}
**************NOTE***************
Intended Usage
This package is meant to be used alongside the TSMapper Visual Studio Extension.
It does not perform any generation by itself.
********************************
| 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. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Fixing namespaces and Enums configuration