10 classes
Class declaration binding plus constructor/member shape checking.
tsz is 6.6x faster 463 lines 8 KB
Timing
Files
// Synthetic TypeScript benchmark file
// Auto-generated for performance testing
export interface Config0 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service0 implements Config0 {
readonly id: number = 0;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) {
this.name = name;
}
getId(): number {
return this.id;
}
getName(): string {
return this.name;
}
setName(value: string): void {
this.name = value;
}
isEnabled(): boolean {
return this.enabled;
}
addItem(item: string): void {
this.items.push(item);
}
getItems(): readonly string[] {
return this.items;
}
static create(name: string): Service0 {
return new Service0(name);
}
}
export interface Config1 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service1 implements Config1 {
readonly id: number = 1;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) {
this.name = name;
}
getId(): number {
return this.id;
}
getName(): string {
return this.name;
}
setName(value: string): void {
this.name = value;
}
isEnabled(): boolean {
return this.enabled;
}
addItem(item: string): void {
this.items.push(item);
}
getItems(): readonly string[] {
return this.items;
}
static create(name: string): Service1 {
return new Service1(name);
}
}
export interface Config2 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service2 implements Config2 {
readonly id: number = 2;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) {
this.name = name;
}
getId(): number {
return this.id;
}
getName(): string {
return this.name;
}
setName(value: string): void {
this.name = value;
}
isEnabled(): boolean {
return this.enabled;
}
addItem(item: string): void {
this.items.push(item);
}
getItems(): readonly string[] {
return this.items;
}
static create(name: string): Service2 {
return new Service2(name);
}
}
export interface Config3 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service3 implements Config3 {
readonly id: number = 3;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) {
this.name = name;
}
getId(): number {
return this.id;
}
getName(): string {
return this.name;
}
setName(value: string): void {
this.name = value;
}
isEnabled(): boolean {
return this.enabled;
}
addItem(item: string): void {
this.items.push(item);
}
getItems(): readonly string[] {
return this.items;
}
static create(name: string): Service3 {
return new Service3(name);
}
}
export interface Config4 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service4 implements Config4 {
readonly id: number = 4;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) {
this.name = name;
}
getId(): number {
return this.id;
}
getName(): string {
return this.name;
}
setName(value: string): void {
this.name = value;
}
isEnabled(): boolean {
return this.enabled;
}
addItem(item: string): void {
this.items.push(item);
}
getItems(): readonly string[] {
return this.items;
}
static create(name: string): Service4 {
return new Service4(name);
}
}
export interface Config5 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service5 implements Config5 {
readonly id: number = 5;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) {
this.name = name;
}
getId(): number {
return this.id;
}
getName(): string {
return this.name;
}
setName(value: string): void {
this.name = value;
}
isEnabled(): boolean {
return this.enabled;
}
addItem(item: string): void {
this.items.push(item);
}
getItems(): readonly string[] {
return this.items;
}
static create(name: string): Service5 {
return new Service5(name);
}
}
export interface Config6 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service6 implements Config6 {
readonly id: number = 6;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) {
this.name = name;
}
getId(): number {
return this.id;
}
getName(): string {
return this.name;
}
setName(value: string): void {
this.name = value;
}
isEnabled(): boolean {
return this.enabled;
}
addItem(item: string): void {
this.items.push(item);
}
getItems(): readonly string[] {
return this.items;
}
static create(name: string): Service6 {
return new Service6(name);
}
}
export interface Config7 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service7 implements Config7 {
readonly id: number = 7;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) {
this.name = name;
}
getId(): number {
return this.id;
}
getName(): string {
return this.name;
}
setName(value: string): void {
this.name = value;
}
isEnabled(): boolean {
return this.enabled;
}
addItem(item: string): void {
this.items.push(item);
}
getItems(): readonly string[] {
return this.items;
}
static create(name: string): Service7 {
return new Service7(name);
}
}
export interface Config8 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service8 implements Config8 {
readonly id: number = 8;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) {
this.name = name;
}
getId(): number {
return this.id;
}
getName(): string {
return this.name;
}
setName(value: string): void {
this.name = value;
}
isEnabled(): boolean {
return this.enabled;
}
addItem(item: string): void {
this.items.push(item);
}
getItems(): readonly string[] {
return this.items;
}
static create(name: string): Service8 {
return new Service8(name);
}
}
export interface Config9 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service9 implements Config9 {
readonly id: number = 9;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) {
this.name = name;
}
getId(): number {
return this.id;
}
getName(): string {
return this.name;
}
setName(value: string): void {
this.name = value;
}
isEnabled(): boolean {
return this.enabled;
}
addItem(item: string): void {
this.items.push(item);
}
getItems(): readonly string[] {
return this.items;
}
static create(name: string): Service9 {
return new Service9(name);
}
}