2017-03-31 89 views
0

我正在使用angularjs2 + Meteor進行開發。一點改進就是在這裏,我已經寫模型下面的風格 - 在這裏安全打字稿模型

export interface temp { 
    name: string; 
    count: number;  
} 

問題是,我使用的文件擴展打字稿,所以編譯後轉換成原始文本。所以這個模型並不安全。用戶可以插入任何類型的數據,這是主要問題。

在meteor + reactJs應用程序中,我使用了Meteor.collection,它提供了安全性。但是,在這裏,我們如何讓打字模型中的模型更安全?

回答

1

TypeScript不提供運行時類型檢查。你必須自己寫。

ensureArgIsTemp(arg: temp): arg is temp { 
    if (!arg 
     || Object.keys(arg).length !== 2 
     || typeof arg.name !== "string" 
     || typeof arg.count !== "number") 
    throw new Error("The given object does not match the interface `temp`"); 

    return true; 
} 

您可能可以通過使用實驗裝飾器自動化其中的一些。請參閱http://blog.wolksoftware.com/decorators-metadata-reflection-in-typescript-from-novice-to-expert-part-4

+0

@Knagis您知道我們如何才能將流星簡單模式與打字稿結合使用?它是我的問題。 – Shubham

+0

@Shubham然後在你的問題中明確陳述它 – ghybs