1.0.0 • Published 10 years ago

chain-api v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
10 years ago
var chainFactory = require('chain-api');

var showVal, // 用于显示状态机持有值的函数
             // 该函数应该定义在init里面
myApi = chainFactory({
    'pre-process' : function(chain){
        console.log('当前状态名是', chain.__status[0]);
        showVal();
    },
    'turn-point'  : {
        'tp_a' : function(chain){
            console.log('当前状态列表', chain.__status);
        },
        'tp_b' : function(chain){
            console.log('当前状态列表', chain.__status);
        },
        'end'  : function(chain){}
    },
    'noturn-point' : {
        'ntp_c' : function(chain, arg){
            console.log('设置了值', chain.__status[1] = arg[0]);
        }
    },
    'init'         : function(chain){
        
        console.log('设置了构造函数的值', chain.__constructorparam[0]);
        chain.__var[0] = chain.__constructorparam[0];
        
        // 定义一个不在链上的函数
        chain.nochain = function(){
            return 'im not at the chain!';
        };
        
        showVal = function(){
            console.log('私有函数', chain.__var);
        };
    },
    '__var' : {
        cp : ''
    }
});

var api = myApi('BBQ');

api.tp_a.ntp_c('setcond value').tp_b('hi').tp_b().end;

console.log(api.nochain());
1.0.0

10 years ago