chain-api

1.0.0 • Public • Published

 
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());

Readme

Keywords

none

Package Sidebar

Install

npm i chain-api

Weekly Downloads

1

Version

1.0.0

License

MIT

Last publish

Collaborators

  • demigodness