{"version":3,"sources":["webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./src/components/SymbolName.vue?ff53","webpack:///./src/components/SymbolName.vue","webpack:///./src/components/SymbolName.vue?7cd3","webpack:///./src/components/SymbolName.vue?6647","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./src/views/Historical/List.vue?1398","webpack:///./src/views/Historical/List.vue","webpack:///./src/views/Historical/List.vue?2e71","webpack:///./src/views/Historical/List.vue?c981","webpack:///./src/services/freebieService.ts"],"names":["module","exports","Object","is","x","y","render","_vm","this","_h","$createElement","_c","_self","staticClass","Symbol","Currency","SecType","class","SymbolClass","_v","_s","padStart","PrimaryExch","_e","staticRenderFns","name","component","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","undefined","call","RegExp","String","res","done","value","rx","S","previousLastIndex","lastIndex","result","index","_m","_l","his","key","staticStyle","attrs","CompanyName","DataPoints","toLocaleString","LastUpdate","range","rangeIndex","Low","High","ExpirationCount","on","$event","showDownload","dialogVisible","model","search","callback","$$v","$set","expression","slot","downloadData","$t","isLoading","histories","selectedSymbol","start","end","loadData","freebieService","getDownloadHistoryAsync","Result","$alert","Error","FirstUpdate","downloadLog","blob","utility","download","components","DateText","SymbolName","updateRange","Range","tryPostBooleanResult","getOtmRanges","SymbolId","tryPostResult","getOptions","DetectedOnly","getDetectedFreebies","symbol","tryDownload","encodeURIComponent"],"mappings":"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","file":"js/chunk-dcc6dbc4.js","sourcesContent":["// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.Symbol)?_c('div',{staticClass:\"d-inline-block\"},[( _vm.Symbol.Currency === 'HKD' && _vm.Symbol.SecType === 'STK' )?_c('span',{class:_vm.SymbolClass},[_vm._v(\" HKG:\"),_c('label',{class:_vm.SymbolClass},[_vm._v(_vm._s(_vm.Symbol.Symbol.padStart(4,'0')))])]):( _vm.Symbol.PrimaryExch == 'SEHKSZSE' )?_c('span',{class:_vm.SymbolClass},[_vm._v(\"SHE:\"),_c('span',{class:_vm.SymbolClass},[_vm._v(_vm._s(_vm.Symbol.Symbol.padStart(4,'0')))])]):( _vm.Symbol.SecType == 'BOND' )?_c('span',{class:_vm.SymbolClass},[_vm._v(\" \"+_vm._s(_vm.Symbol.Symbol)+\" \")]):_c('span',{class:_vm.SymbolClass},[_vm._v(_vm._s(_vm.Symbol.Symbol))])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ContractSymbol } from '@/services/data'\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class SymbolName extends Vue {\r\n name = 'SymbolName'\r\n @Prop() Symbol: ContractSymbol\r\n @Prop() SymbolClass: string\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SymbolName.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SymbolName.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SymbolName.vue?vue&type=template&id=171114f6&\"\nimport script from \"./SymbolName.vue?vue&type=script&lang=ts&\"\nexport * from \"./SymbolName.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"m-auto\"},[_c('div',{staticClass:\"text-left\"},[_c('h2',[_vm._v(\"Historical Data page\")]),_c('table',{staticClass:\"table text-center\"},[_vm._m(0),_c('tbody',_vm._l((_vm.histories),function(his,index){return _c('tr',{key:index},[_c('td',{staticStyle:{\"width\":\"300px\"}},[_c('SymbolName',{attrs:{\"symbol\":his.Symbol,\"symbol-class\":\"symbol-com\"}}),_c('div',{staticClass:\"color-666\"},[_vm._v(_vm._s(his.Symbol.CompanyName))])],1),_c('td',{staticStyle:{\"width\":\"300px\"}},[_vm._v(_vm._s(his.DataPoints.toLocaleString('en-US')))]),_c('td',{staticStyle:{\"width\":\"250px\"}},[(his.IsDownloading)?_c('span',[_vm._v(\"Capturing\")]):_c('date-text',{attrs:{\"date-str\":his.LastUpdate}})],1),_c('td',{staticStyle:{\"width\":\"150px\"}},_vm._l((his.Range),function(range,rangeIndex){return _c('div',{key:rangeIndex},[(his.IsDownloading)?_c('div',[_vm._v(\" \"+_vm._s(range.Low)+\"-\"+_vm._s(range.High)+\"% \")]):_vm._e()])}),0),_c('td',{staticStyle:{\"width\":\"150px\"}},[(his.IsDownloading)?_c('div',[_vm._v(\" \"+_vm._s(his.ExpirationCount)+\" \")]):_vm._e()]),_c('td',{staticStyle:{\"width\":\"150px\"}},[_c('el-button',{attrs:{\"type\":\"success\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.showDownload(his)}}},[_c('i',{staticClass:\"el-icon-download\"}),_vm._v(\" DOWNLOAD \")])],1)])}),0)]),_c('el-dialog',{staticClass:\"text-center m-auto\",attrs:{\"visible\":_vm.dialogVisible,\"append-to-body\":\"\",\"show-close\":true,\"title\":\"Download historical data\",\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('span',{staticClass:\"mr-2 ml-2\"},[_vm._v(\" Start: \")]),_c('el-date-picker',{staticClass:\"w-100\",staticStyle:{\"max-width\":\"150px\"},attrs:{\"format\":\"M/d/yy\",\"value-format\":\"M/d/yy\"},model:{value:(_vm.search.start),callback:function ($$v) {_vm.$set(_vm.search, \"start\", $$v)},expression:\"search.start\"}}),_c('span',{staticClass:\"mr-2 ml-2\"},[_vm._v(\" End: \")]),_c('el-date-picker',{staticClass:\"w-100\",staticStyle:{\"max-width\":\"150px\"},attrs:{\"format\":\"M/d/yy\",\"value-format\":\"M/d/yy\"},model:{value:(_vm.search.end),callback:function ($$v) {_vm.$set(_vm.search, \"end\", $$v)},expression:\"search.end\"}})],1),_c('div',{staticClass:\"text-right\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{staticClass:\"f-16\",attrs:{\"type\":\"primary\"},on:{\"click\":_vm.downloadData}},[_vm._v(_vm._s(_vm.$t('button.ok')))])],1)])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{staticClass:\"font-weight-bold\"},[_c('td',{staticStyle:{\"width\":\"300px\"}},[_vm._v(\"Symbol\")]),_c('td',{staticStyle:{\"width\":\"300px\"}},[_vm._v(\"DATA POINTS\")]),_c('td',{staticStyle:{\"width\":\"250px\"}},[_vm._v(\"LAST UPDATED\")]),_c('td',{staticStyle:{\"width\":\"150px\"}},[_vm._v(\"OTM RANGE\")]),_c('td',{staticStyle:{\"width\":\"150px\"}},[_vm._v(\"# OF EXPIRAIONS\")]),_c('td',{staticStyle:{\"width\":\"150px\"}})])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport SymbolName from '@/components/SymbolName.vue'\r\nimport freebieService, { HistoryDataItem } from '@/services/freebieService'\r\nimport { ContractSymbol } from '@/services/data'\r\nimport utility from '@/common/utility'\r\nimport DateText from '@/components/DateText.vue'\r\n\r\n@Component({\r\n components: {\r\n DateText,\r\n SymbolName\r\n }\r\n})\r\nexport default class HistoryData extends Vue {\r\n isLoading = false\r\n histories: HistoryDataItem[] = []\r\n dialogVisible = false\r\n selectedSymbol: ContractSymbol = null\r\n search = {\r\n start: '',\r\n end: ''\r\n }\r\n\r\n async mounted () {\r\n await this.loadData()\r\n }\r\n\r\n async loadData () {\r\n const res = await freebieService.getDownloadHistoryAsync()\r\n if (res.Result) {\r\n this.histories = res.Result\r\n } else {\r\n await this.$alert(res.Error)\r\n }\r\n }\r\n\r\n showDownload (his: HistoryDataItem) {\r\n this.selectedSymbol = his.Symbol\r\n this.search.start = his.FirstUpdate\r\n this.search.end = his.LastUpdate\r\n this.dialogVisible = true\r\n }\r\n\r\n async downloadData () {\r\n try {\r\n const blob = await freebieService.downloadLog(this.selectedSymbol.Symbol, this.search.start, this.search.end)\r\n utility.download(`option${this.selectedSymbol.Symbol}.csv`, blob, 'application/octet-stream')\r\n } catch (e) {\r\n await this.$alert(e)\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=59c276c0&\"\nimport script from \"./List.vue?vue&type=script&lang=ts&\"\nexport * from \"./List.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { ApiBooleanResult, ApiResult, ContractSymbol, OtmRange, StockPrice } from '@/services/data'\r\nimport ServiceBase from '@/services/serviceBase'\r\n\r\nexport interface FreebieOpt extends Record {\r\n Uid: number;\r\n OptionId: number;\r\n Time: string;\r\n CallPut: string;\r\n Expiration: string;\r\n Strike: number;\r\n Otm: number;\r\n OptionPrice: number;\r\n StockPrice: number;\r\n Target: number;\r\n State: string;\r\n}\r\n\r\nexport interface FreebieOptionRes {\r\n Percentile: number;\r\n MinPremiumValue: number;\r\n MinPremiumPercent: number;\r\n SymbolOpts: FreebieItem[];\r\n}\r\n\r\nexport interface FreebieItem {\r\n SymbolId: number;\r\n SymbolName: string;\r\n Range: OtmRange;\r\n Gmt: string;\r\n Options: FreebieOpt[];\r\n}\r\n\r\nexport interface StockFreebie {\r\n Gmt?: string;\r\n StockPrice: StockPrice;\r\n FreebieRange: OtmRange;\r\n DownloadRange: OtmRange;\r\n CallOptions: FreebieOpt[];\r\n PutOptions: FreebieOpt[];\r\n}\r\n\r\nexport interface HistoryDataItem{\r\n DataPoints: number;\r\n FirstUpdate: string;\r\n LastUpdate: string;\r\n Range: OtmRange[];\r\n Symbol: ContractSymbol;\r\n IsDownloading: boolean;\r\n ExpirationCount: number;\r\n}\r\n\r\nexport default {\r\n async updateRange (Range: OtmRange): Promise {\r\n return await ServiceBase.tryPostBooleanResult('/freebie/updateRange', Range)\r\n },\r\n async getOtmRanges (SymbolId?: number): Promise> {\r\n return await ServiceBase.tryPostResult('/freebie/getOtmRanges', { SymbolId })\r\n },\r\n async getOptions (DetectedOnly = false): Promise> {\r\n return await ServiceBase.tryPostResult('/freebie/getOptions', { DetectedOnly })\r\n },\r\n async getDetectedFreebies (): Promise> {\r\n return await ServiceBase.tryPostResult('/freebie/getDetectedFreebies')\r\n },\r\n async getDownloadHistoryAsync (): Promise> {\r\n return await ServiceBase.tryPostResult('/freebie/getDownHistory')\r\n },\r\n async downloadLog (symbol: string, start: string, end: string) {\r\n return await ServiceBase.tryDownload(`/freebie/downloadLogs/${symbol}?start=${encodeURIComponent(start)}&end=${encodeURIComponent(end)}`)\r\n }\r\n}\r\n"],"sourceRoot":""}