UNPKG

typedconverter

Version:

Convert object into classes match with TypeScript type annotation

52 lines (51 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const tinspector_1 = tslib_1.__importDefault(require("tinspector")); const src_1 = require("../src"); let Address = class Address { constructor(zip, city, number) { this.zip = zip; this.city = city; this.number = number; } }; Address = tslib_1.__decorate([ tinspector_1.default.parameterProperties(), tslib_1.__metadata("design:paramtypes", [String, String, Number]) ], Address); exports.Address = Address; let MyData = class MyData { constructor(name, email, date, address) { this.name = name; this.email = email; this.date = date; this.address = address; } }; MyData = tslib_1.__decorate([ tinspector_1.default.parameterProperties(), tslib_1.__param(1, src_1.val.email()), tslib_1.__metadata("design:paramtypes", [String, String, Date, Address]) ], MyData); exports.MyData = MyData; const validator = src_1.createValidator(MyData); let MyTypes = class MyTypes { constructor(string, boolean, date, number) { this.string = string; this.boolean = boolean; this.date = date; this.number = number; } }; MyTypes = tslib_1.__decorate([ tinspector_1.default.parameterProperties(), tslib_1.__metadata("design:paramtypes", [String, Boolean, Date, Number]) ], MyTypes); exports.MyTypes = MyTypes; const converter = src_1.createValidator(MyTypes); exports.default = { converter, validator };