目錄 :

Supports

ModuleBase

PollingEvent

Fragment

Auto

Operon

Root

Messenger

Status

Mode

Gene

Transcription

Nucleoid

Supports

一些可通用的function


Function

each(target,callback)

static

各種迴圈適應

callback : (data,index|key) => { do something... }

systemError

static

執出錯誤訊息

deepClone(obj)

static

深拷貝一個物件,並回傳此物件

inspect()

static

移除迴圈結構的物件

getAllPrototype()

static

獲取所有含繼承的propotype

scan()

static

複合宣告函式列

ModuleBase

系統殼層


Function

$systemError(functionName,maessage,object)

於console呼叫錯誤,中斷程序並顯示錯誤的物件

$noKey(functionName,target,key)

檢查該物件是否含有key

return : {boolean} 如果沒有,回傳true,如果有則報錯

$verify(data,validate,assign)

驗證並返為一個新的物件,並在空屬性中賦予預設屬性

@param : object data 驗證目標

@param : object validate 驗證物件,value是一個array,內容是[require,default]

@param : object assign 返回的物件與指定物件合併

$protection(object,key,getter,value)

建立一個保護變數

@param : object object 保護變數必須要有一個目標物件

@param : string key 為目標物建立一個key

@param : object getter 這個保護變數被存入的外部物件

@param : any value 變數值

PollingEvent

輪循的事件單位


Function

activate()

每次輪循呼叫一次action

close()

關閉這個事件,他將在下次輪循時被移除

Fragment

建立一個片段,你可以一次加入多個排程,他將會同時進行並等待回傳onload


Function

install(callback)

執行activate時初始化

use()

建立對外接口

add(options)

加入一個排程

@param : object options {name:string, action:function}

eachAdd(target,name,action)

迭代加入frag

setError()

註冊每個排程的error事件並回傳export

regsterError(status)

註冊每個排程的error事件

regsterOnload(status)

註冊每個排程的onload事件

actionThread(thread)

執行一個排程

activate(callback)

callback : (error,onload) => { do something... }

Auto

建立一個獨立的非同步執行續,在宣告結束前transcription不會結束


Function

init

初始化狀態

createAction

建立自動化行為

error

自動化行為出錯

onload

自動化行為執行完畢

Operon

統一io狀態的物件


Function

validate

驗證Operon結構是否正確

use

使用選擇的Unit

createContext

建立傳入Unit的Context

useUnit(unit,context)

使用Unit的邏輯層

getUnit(name)

獲取Unit的邏輯層

exports()

輸出API

Root

Gene執行Transcription時,掌控Status和Polling的源頭


Function

initPolling()

初始化輪尋機制

initBase()

初始化鹼基

getBase()

直接獲取base是不會得到protection物件的

setTargetStatus(status)

轉移指定的status對象

createSystemStatus(name,success,message)

快捷建立一個status至指定的對象中

addBase(key,value)

加入一個全域屬性

polling(options)

輪循一個事件

@param : object options {name:string, action:function}

auto(options)

建立自動執行續

clearPollingEvents()

清空宣告停止輪循的事件

createFragment(name)

建立一個片段

close(success,message,callback)

完成Transcription後,關閉系統

@param : boolean success 系統是否順利結束

@param : any message 如果錯誤,是怎樣的錯誤

checkAutoOnload()

Auto是否執行完畢

Messenger

負責被擲出Gene的物件


Function

isError()

是否為執行錯誤的Messenger

return : {boolean}

getErrorMessage()

獲取錯誤訊息

return : {string|null}

getStatusToJson()

獲取狀態並轉換成json格式

return : {string} json file

getMethods()

獲取模式

return : {array}

Status

堆棧狀態


Function

getMessage()

獲取該狀態的訊息

isSuccess()

該狀態是否已成功結束

addAttr(key,value)

這個屬性會被加入在一個名為attributes的物件內

installDetail()

顯示更多資訊

set(success,message)

當該狀態的模式進行到一個終點,設定成功與否和訊息

get()

取得該狀態序列化的參數

getErrorStatus()

只獲取錯誤狀態並平面化資料

json()

取得序列化參數並轉為json文本

html()

取得序列化參數並轉成html文本

addChildren(status)

將該status加入一個子狀態

Mode

處理所有基因行為的模塊


Function

init

初始化所有事件

proxy

保護物件模式

@param : object options [require,type,default]

createMode

為Mode建立一些基礎屬性

exports

輸出接口

getUsed

獲取正在使用的mode

isEnable

該模式有無被啟用

hasRequire

檢查必要參數

use

獲取一個模式

set

檢查各種狀況,通過則賦值

setMode

個別賦值

Gene

建立貯列模板與生命週期,為整體流程控制的最高物件


Function

setOptions(options)

當實體化時帶有options時,執行設定動作

addName

名稱尾端追加名稱,會一直疊加下去

setName(name)

設定名稱

setAlias(alias)

設定別名

setTraceBaseMode(enable,action,options)

鹼基追蹤模式,將每個template的鹼基變化紀錄下來,這功能將吞噬你的效能,僅適用於測試

@param : function action (cloneBase, nowStatus)

setTimeoutMode(enable,ms,action,options)

設定逾時事件

@param : function action (base, exit, fail)

setCatchExceptionMode(enable,action,options)

設定捕捉Exception模式,這功能將吞噬你的效能,僅適用於測試

@param : function action (base, exception, exit, fail)

setCatchUncaughtExceptionMode(enable,action,options)

設定捕捉未捕獲Exception模式

@param : function action (base, exception, exit, fail)

setGenetic(callback,options)

設定遺傳,callback必須回傳一個物件,他將在你執行transcription時將回傳的值賦予base中

template(name,action)

加入一個貯列模版,他將在執行transcription時依宣告順序執行

setInitiation(action,options)

設定啟動事件,此事件猶如定義為一個template,必須宣告next才能繼續運行

@param : function initiation (base, skill, next, exit, fail)

setElongation(action,options)

設定延長事件,自動過渡,沒有next也無法處裡非同步資源

@param : function elongation (base, exit, fail)

setTermination(action,options)

設定結束事件

@param : function termination (base, rootStatus)

cloning(templates)

複用template的接口

clearTemplate()

清空模板

transcription()

執行系統,不論錯誤或成功皆會回傳一個Messenger物件

return : {Promise}

Transcription

轉譯gene並輸出messenger,他會在運行Gene Transcription實例化,保護其不被更改到


Function

init

初始化狀態

initBind

初始化綁定狀態

initTimeoutMode

初始化愈時處理

initCatchUncaughtExceptionMode

初始化捕捉異步錯誤

setRootStatusAttr(key,value)

可在skill中定義根狀態

setStatusAttr(key,value)

可在skill中定義狀態

cross(gene,callback)

有時不免俗需要抽出邏輯層,cross可以讓你呼叫外部基因並疊加狀態

callback : (error,messenger) => { do something... }

close(success,message,callback)

不論是fail或exit都會處裡的邏輯層

fail(error)

拒絕並傳遞錯誤

exit()

成功並結束模板

next()

前往下個貯列

synthesis()

TryCatch與CatchUncaughtException其實需要一個統一的傳遞街口

synthesisTryCatchMode()

開啟TryCatch模式

synthesisCatchUncaughtExceptionMode()

開啟CatchUncaughtException模式

Nucleoid

掌控整個系統組成的核心物件,為建立Gene的接口


Function

createGene(name)

static

建立一個Gene

isMessenger(messenger)

static

驗證該模組是否為messenger

isStatus(status)

static

驗證該模組是否為status

isGene(gene)

static

驗證該模組是否為基因

createOperon(type,options)

static

建立Operon