trading-cycle
Version:
A lightweight, modular core library designed for backtesting trading strategies in financial markets.
2 lines • 2.25 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("TradingCycleLight",[],t):"object"==typeof exports?exports.TradingCycleLight=t():e.TradingCycleLight=t()}(self,(()=>(()=>{"use strict";var e={261:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(s(587)),a=r(s(742));t.default={TradingCycle:i.default,AbstractHandler:a.default}},587:function(e,t){var s,r,i,a=this&&this.__classPrivateFieldGet||function(e,t,s,r){if("a"===s&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),s=new WeakSet,r=function(e){a(this,s,"m",i).call(this,e),this.handlers[e.name]=new this.handlerClasses[e.handler](this.state,e),this.state[e.name]=[]},i=function(e){if(!e.name.trim().length)throw new Error("No Handler's name found.");if("tick"===e.name)throw new Error("Handler's name is reserved.");if(this.handlers[e.name])throw new Error(`${e.name} already exists`)},t.default=class{constructor(e,t){s.add(this),this.handlers={},this.state={},this.handlerClasses=e,t.forEach((e=>{a(this,s,"m",r).call(this,e)}))}execute(e){const t={tick:e};Object.keys(this.handlers).forEach((e=>{const s=this.handlers[e];t[e]=s.execute(t),t[e]&&this.state[e].push(t[e])}))}}},742:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t){this.defaults=t.defaults,this.name=t.name,this._inputs=t.inputs,this._state=e,this._v={},this._s={}}get calculated(){return this._state[this.name]}get v(){return this._v}get s(){return this._s}execute(e){return this._v={tick:e.tick},this._s={},Object.entries(this._inputs).forEach((([t,s])=>{this._v[t]=e[s],this._s[t]=this._state[s]})),this.doExecute()}}}},t={};return function s(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,s),a.exports}(261)})()));
//# sourceMappingURL=trading-cycle-light.bundle.js.map