Mold
Packhouse Mold
TypeScript
Mold的出現主要是因為JavaScript沒有Interface、Type等Struct的功能,這在運行過程時容易遇到非預期的錯誤。
TypeScript是一個解決方案,以下是使用時呈現的方式:
// Basic function
function sum(v1: number, v2: number): number {
return v1 + v2
}
// Interface based
interface Person {
firstName: string
lastName: string
}
function greeter(person: Person) {
return "Hello, " + person.firstName + " " + person.lastName
}How To Use
Mold不能被外部所引用,最直接的使用方法是宣告在Tool的Request內。
在執行時能便會附加檢查功能:
Expression
Mold可以藉由|符號加入參數,協助開發者應付特殊狀況。
Casting
能夠使用self.casting在Handler中做轉換。
Null
在Request中宣告null可以忽略驗證欄位。
Optional
在名稱後加入?符號可以使該參數為null或undefined的時候忽略驗證。
Custom Define Mold
Mold可以同時具有檢查與轉換的功能,呈現的方式如下:
第二個參數為context,能夠做更進階的應用:
Verify Expression
基於utils.verify的格式,有更好的結構表達與文件生產。
Core Molds
不是每個Mold都要重新定義,系統本身提供了許多常用的型態:
type
使用utils.getType作驗證。
{ string } is - 目標type,一定需要該參數
number
參數必須為數字。
min - 數字必須高於指定數字
max - 數字必須低於指定數字
int - 數字轉換成整數
boolean
參數必須為true或false。
string
參數必須為字串。
is - 指定字串內容,可以用
,分割多個對象。
array
參數必須為陣列。
buffer
參數必須為Buffer。
object
參數必須為Object。
function
參數必須為Function。
date
參數必須為new Date支援的時間格式。
required
參數為必填。
如果你這樣寫required?,會無效。
Create Self Core Mold
開發人員可以自定義系統Mold,這樣就能夠在所有場合使用自定義Mold。
Last updated
Was this helpful?