diff --git a/package.json b/package.json index ff7d96e..e38f8d9 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "build_server": "tsc -p src/server", "server": "npm run build_server && node out/server/app.js", "cors": "PORT=9000 node node_modules/cors-anywhere/server.js", - "revenue": "npm run build_tasks && ROUTE=/revenue npm run serve -- --open http://localhost:8080/revenue" + "revenue": "npm run build_tasks && ROUTE=/revenue npm run serve -- --open http://localhost:8080/revenue", + "gather": "ts-node src/server/gather.ts" }, "repository": { "type": "git", @@ -50,7 +51,6 @@ "gyronorm": "^2.0.6", "hammerjs": "^2.0.8", "isomorphic-fetch": "^2.2.1", - "just-animate": "^2.5.0", "lodash-es": "^4.17.4", "lodash.range": "^3.2.0", "matter-js": "^0.13.0", diff --git a/src/client/apps/jslib/just_animate/README.md b/src/client/apps/jslib/just_animate/README.md index 0337915..64515eb 100644 --- a/src/client/apps/jslib/just_animate/README.md +++ b/src/client/apps/jslib/just_animate/README.md @@ -4,4 +4,4 @@ Flubber + Just Animate 2 [출처](https://codepen.io/notoriousb1t/pen/QMMVOE) Using just-animate -Flubber \ No newline at end of file +Flubber diff --git a/src/client/apps/jslib/just_animate/app.ts b/src/client/apps/jslib/just_animate/app.ts index ea294ea..25f6e26 100644 --- a/src/client/apps/jslib/just_animate/app.ts +++ b/src/client/apps/jslib/just_animate/app.ts @@ -4,10 +4,9 @@ import 'htmlout-loader!./en.html'; console.log(__filename); import './style.scss'; -import { animate } from 'just-animate' -declare var just -declare var flubber +declare var just; +declare var flubber; let t1 = just.animate({ targets: '#target', @@ -21,10 +20,11 @@ let t1 = just.animate({ 'M4 0l16 12.279-6.951 1.17 4.325 8.817-3.596 1.734-4.35-8.879-5.428 4.702z', ], interpolate(left, right) { + console.log('interpolate', left, right); return flubber.interpolate( left, right, { maxSegmentLength: 0.3 } - ) + ); } }, fill: { diff --git a/src/client/apps/jslib/just_animate/en.html b/src/client/apps/jslib/just_animate/en.html index 358993b..110a5ef 100644 --- a/src/client/apps/jslib/just_animate/en.html +++ b/src/client/apps/jslib/just_animate/en.html @@ -1,12 +1,19 @@ - - - - -
- - - -
- + + + Just Animate + + + + + + + +
+ + + +
+ + \ No newline at end of file diff --git a/src/client/apps/revenue/bithumb.ts b/src/client/apps/revenue/bithumb.ts index 1288186..089d318 100644 --- a/src/client/apps/revenue/bithumb.ts +++ b/src/client/apps/revenue/bithumb.ts @@ -434,6 +434,46 @@ export async function getCurrencyRate() { const resp = await fetchJson('/btweb/resources/csv/CurrencyRate.json'); } +interface Order { + price: string; + quantity: string; +} + +interface OrderBook { + asks: Order[]; + bids: Order[]; +} + +interface Transaction { + transaction_date: string; + type: 'ask' | 'bid'; + price: string; + units_traded: string; + total: string; +} + +type Ticker = { + [coin in CoinType]: { + average_price: string; + buy_price: string; + closing_price: string; + max_price: string; + min_price: string; + opening_price: string; + sell_price: string; + units_traded: string; + } +}; + +interface Message { + status: '0000'; + header: { + currency: CoinType; + service: 'orderbook' | 'transaction' | 'ticker'; + }; + data: OrderBook | Transaction[] | Ticker; +} + interface WSTicker { data: { [coin in CoinType]: { @@ -458,18 +498,18 @@ export async function initTickerWS(cb: (tickerItemMap: TickerItemMap) => void) { }; ws.onmessage = function (event) { try { - const ticker = JSON.parse(event.data); - if (ticker.data.BTC && cb) { - const wsTicker: WSTicker = ticker; + const message: Message = JSON.parse(event.data); + if (message.header.service === 'ticker') { + const ticker = message.data as Ticker; const tickerItemMap: TickerItemMap = {} as any; - Object.keys(wsTicker.data).forEach(function(coin: CoinType) { - const ticker = wsTicker.data[coin]; + Object.keys(ticker).forEach(function(coin: CoinType) { + const t = ticker[coin]; tickerItemMap[coin] = { - open: parseInt(ticker.opening_price), - close: parseInt(ticker.closing_price), - low: parseInt(ticker.min_price), - hight: parseInt(ticker.max_price), - qty: parseInt(ticker.units_traded), + open: parseInt(t.opening_price), + close: parseInt(t.closing_price), + low: parseInt(t.min_price), + hight: parseInt(t.max_price), + qty: parseInt(t.units_traded), }; }); cb(tickerItemMap); diff --git a/src/server/gather.ts b/src/server/gather.ts new file mode 100644 index 0000000..f578a6a --- /dev/null +++ b/src/server/gather.ts @@ -0,0 +1,4 @@ + + + +console.log('hi'); diff --git a/yarn.lock b/yarn.lock index 213f5ca..1d4cd65 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1817,15 +1817,7 @@ d3-drag@1, d3-drag@1.2.1: d3-dispatch "1" d3-selection "1" -d3-dsv@1: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.7.tgz#137076663f398428fc3d031ae65370522492b78f" - dependencies: - commander "2" - iconv-lite "0.4" - rw "1" - -d3-dsv@1.0.8: +d3-dsv@1, d3-dsv@1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.8.tgz#907e240d57b386618dc56468bacfe76bf19764ae" dependencies: @@ -1860,13 +1852,7 @@ d3-hierarchy@1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz#a1c845c42f84a206bcf1c01c01098ea4ddaa7a26" -d3-interpolate@1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.5.tgz#69e099ff39214716e563c9aec3ea9d1ea4b8a79f" - dependencies: - d3-color "1" - -d3-interpolate@1.1.6: +d3-interpolate@1, d3-interpolate@1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.6.tgz#2cf395ae2381804df08aa1bf766b7f97b5f68fb6" dependencies: @@ -1913,11 +1899,7 @@ d3-scale@1.0.7: d3-time "1" d3-time-format "2" -d3-selection@1, d3-selection@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.1.0.tgz#1998684896488f839ca0372123da34f1d318809c" - -d3-selection@1.2.0: +d3-selection@1, d3-selection@1.2.0, d3-selection@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.2.0.tgz#1b8ec1c7cedadfb691f2ba20a4a3cfbeb71bbc88" @@ -1933,11 +1915,7 @@ d3-time-format@2, d3-time-format@2.1.1: dependencies: d3-time "1" -d3-time@1: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.7.tgz#94caf6edbb7879bb809d0d1f7572bc48482f7270" - -d3-time@1.0.8: +d3-time@1, d3-time@1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.8.tgz#dbd2d6007bf416fe67a76d17947b784bffea1e84" @@ -1945,18 +1923,7 @@ d3-timer@1, d3-timer@1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531" -d3-transition@1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.1.0.tgz#cfc85c74e5239324290546623572990560c3966f" - dependencies: - d3-color "1" - d3-dispatch "1" - d3-ease "1" - d3-interpolate "1" - d3-selection "^1.1.0" - d3-timer "1" - -d3-transition@1.1.1: +d3-transition@1, d3-transition@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.1.1.tgz#d8ef89c3b848735b060e54a39b32aaebaa421039" dependencies: @@ -4143,16 +4110,6 @@ jstree@^3.3.3: dependencies: jquery ">=1.9.1" -just-animate@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/just-animate/-/just-animate-2.5.0.tgz#ea33259b7e76eaba28f4c8ef09716873f56e140f" - dependencies: - just-curves "^0.2.0" - -just-curves@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/just-curves/-/just-curves-0.2.0.tgz#a12ca60b3b99d4f07810d8e7c1a589e8fdd6a675" - keymaster@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/keymaster/-/keymaster-1.6.2.tgz#e1ae54d0ea9488f9f60b66b668f02e9a1946c6eb"