MTT 0.3.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package MTT --version 0.3.3                
NuGet\Install-Package MTT -Version 0.3.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MTT" Version="0.3.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MTT --version 0.3.3                
#r "nuget: MTT, 0.3.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MTT as a Cake Addin
#addin nuget:?package=MTT&version=0.3.3

// Install MTT as a Cake Tool
#tool nuget:?package=MTT&version=0.3.3                

Models To Typescript

-- Converts c# classes to typescript interfaces

-- Only looks for public properties

-- Ignores c# constructors

-- Applies Inheritence

-- Imports all required dependencies for typescript models

-- Matches the directory structure of the dto's, however it only checks 1 lower directory from Working Directory

Options

WorkingDirectory is the input directory of the cs dtos

ConvertDirectory is the output directory of the ts interfaces

AutoGeneratedTag (default true) show "/* Auto Generated */" at the top of every file

Example

.csproj
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="MTT" Version="0.3.3" />
  </ItemGroup>

  <Target Name="Convert" BeforeTargets="PrepareForBuild">
    <ConvertMain WorkingDirectory="Resources/" ConvertDirectory="models/"/>
  </Target>

</Project>
Vehicle.cs
using System.Collections.Generic;
using Example.Resources.Parts;

namespace Example.Resources.Vehicles
{
    public class Vehicle : Entity
    {
        public VehicleMake Make { get; set; }

        public VehicleModel Model { get; set; }

        public VehicleYear Year { get; set; }

        public ICollection<VehiclePart> Parts { get; set; }
    }
}
vehicle.ts
/* Auto Generated */

import { Entity } from "../entity"
import { VehicleMake } from "./vehicleMake"
import { VehicleModel } from "./vehicleModel"
import { VehicleYear } from "./vehicleYear"
import { VehiclePart } from "../Parts/vehiclePart"

export interface Vehicle extends Entity {
	make: VehicleMake;
	model: VehicleModel;
	year: VehicleYear;
	parts: VehiclePart[];
}

Types

It correctly converts the following C# types to the equivalent typescript:

  • bool
  • byte
  • decimal
  • double
  • float
  • int
  • uint
  • long
  • sbyte
  • short
  • string
  • ulong
  • ushort
  • Boolean
  • Byte
  • Char
  • DateTime
  • Decimal
  • Double
  • Int16
  • Int32
  • Int64
  • SByte
  • UInt16
  • UInt32
  • UInt64
  • Array
  • Collection
  • Enumerbale
  • IEnumerable
  • ICollection

Notes

If a Convert Directory is supplied, it will be deleted everytime script is ran and will be remade

Tested on Windows 10 and macOS High Sierra

Follows the case and naming conventions of each language.

Thanks to natemcmaster this project really helped me out!

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETFramework 4.6

    • No dependencies.
  • .NETFramework 4.7.1

    • No dependencies.
  • .NETStandard 1.6

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on MTT:

Package Downloads
BindOpen.Messages.IO.Dtos

A package to easily deal with feeds.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.7.2 38,950 8/15/2021
0.7.1 17,006 6/25/2021
0.7.0 4,056 4/5/2021
0.6.5 31,069 2/16/2020
0.6.3 1,778 11/17/2019
0.6.1 2,077 8/8/2019
0.6.0 837 8/5/2019
0.5.9 790 7/24/2019
0.5.8 838 7/11/2019
0.5.7 3,008 5/31/2019
0.5.6 876 4/24/2019
0.5.5 1,245 4/7/2019
0.5.4 30,107 10/18/2018
0.5.3 1,472 9/8/2018
0.5.2 1,007 9/8/2018
0.5.1 1,042 9/8/2018
0.5.0 1,078 9/8/2018
0.4.7 1,380 8/6/2018
0.4.6 1,263 7/9/2018
0.4.5 1,130 6/21/2018
0.4.4 2,482 6/14/2018
0.4.3 1,394 4/13/2018
0.4.1 1,266 4/12/2018
0.4.0 1,284 4/11/2018
0.3.3 1,203 3/16/2018
0.3.2 1,279 3/9/2018
0.3.1 1,494 3/6/2018
0.3.0 1,574 3/5/2018
0.2.3 1,101 2/22/2018
0.2.2 1,252 2/11/2018
0.2.1 1,308 2/10/2018
0.2.0 1,228 2/10/2018
0.1.6 1,239 2/8/2018
0.1.5 1,277 2/8/2018
0.1.4 1,221 2/8/2018
0.1.1 1,230 2/2/2018
0.1.0 1,153 2/2/2018