UNPKG

fhir.js

Version:
67 lines (63 loc) 1.66 kB
// Generated by CoffeeScript 1.9.3 (function() { exports.stepBuilder = function(q) { return function(name, fn) { return function(state) { var d, next; d = q.defer(); console.log("Step [" + name + "]: start"); next = function(newSt) { state[name] = newSt; console.log("Step [" + name + "]: complete"); return d.resolve(state); }; fn(next, state); return d.promise; }; }; }; exports.checkStep = function(q) { return function(name, fn) { return function(state) { var d; d = q.defer(); console.log("Step [" + name + "]: check"); fn(state, state[name]); d.resolve(state); return d.promise; }; }; }; // simple defer impl for tests exports.defer = function(){ var pr = { _status: 'pending', _cb: null, then: function(cb, err){ if(this._status == 'resolved'){ cb(this._payload); } else if(this._status == 'errored'){ (err || cb)(this._payload); }else{ this.cb = cb; this.err = err || cb; } return pr; } }; return { reject: function(e){ pr._status = 'errored'; pr._payload = e; pr.err && pr.err(e); }, resolve: function(obj){ pr._status = 'resolved'; pr._payload = obj; pr.cb && pr.cb(obj); }, promise: pr }; }; }).call(this);