Base

定義Base是一門藝術。

Base是每次執行Transcription所產生的一個空物件,它將在整個生命週期中被傳遞,直到最後被輸出。

相比this,請相信base


遺傳因子

genetic是初始化base的表現,它所return的值會在進入流程開始前注入base

定義

gene.setGenetic(() => {
    return {
        count: 0
    }
})

Template表現

gene.template('conut plus1', (base, enzy, next, exit, fail) => {
    base.count += 1
    next()
})

gene.template('conut plus2', (base, enzy, next, exit, fail) => {
    base.count += 1
    console.log(base.count) // 2
    next()
})

保護鹼基

在宣告genetic時,參數名稱加入$字號便會受到保護,受保護的鹼基既不能修改,也不能被追蹤。

gene.setGenetic(() => {
    return {
        $onlyFalse: false
    }
})

gene.template('impossible', (base, enzy, next, exit, fail) => {
    base.$onlyFalse = true // throw error
    next()
})

Case

當你在流程中每個動作輸出this時會得到一個名為case的物件,this一樣會伴隨整個流程,但不會被擲出。


Base(鹼基)是建立DNA的基本單位