servicestack - Üretilmiş typescript dto'lar açı parantezi doğrulaması kullanır
DTO'larımızı verilen Typescript ServicStack referans aracıyla üretiyoruz ama bu eslint uyarılarına yol açıyor.
Hata veren lint kuralı no-angle-bracket-type-assertion, bazı detaylar için şuna bakabilirsiniz: https://palantir.github.io/tslint/rules/no-angle-bracket-type-assertion/
Kuralları devre dışı bırakabilir ve bunu bastırabilirim, ancak bu, burada belirtildiği gibi https://basarat.gitbooks.io/typescript/docs/types/type-assertion.html belirsizlik yaratır, bu yüzden yeni sözdizimini kullanmanız önerilir.
Şu anda açı parantez sözdizimiyle üretiyorlar (şu şekilde ):
public constructor(init?:Partial<ResponseError>) { (<any>Object).assign(this, init); }
Ama ''as any'' sözdizimini kullanmalılar:
public constructor(init?:Partial<ResponseError>) { (Object as any).assign(this, init); }
Oluşturulan DTO'ları nasıl değiştireceğini veya sadece bu dosyayı göz ardı etmeyi bilen var mı?
Cevap #1
Her ikisi de Type Assertions için geçerli TypeScript sözdizimidir. Palintir neyin geçerli sözdizimi olduğunu belirlemez (bu TypeScript derleyicisinin yaptığıdır), sadece değiştirebileceğiniz bazı değiştirilebilir varsayılanlar ayarlarlar.
Her neyse, artık MyGet üzerinde bulunan ServiceStack'in en son v5.5.1 sürümünden itibaren, tslint (Object as any) varsayılanını benimsemiştir.