22
33const PI = require ( 'p-iteration' )
44const _isEmpty = require ( 'lodash/isEmpty' )
5- const runExample = require ( '../util/run_example' )
6-
7- module . exports = runExample ( {
8- name : 'rest-close-positions' ,
9- rest : { env : true , transform : true } ,
10- ws : { env : true , transform : true , connect : true , auth : true } ,
11- readline : true ,
12- params : {
13- filterByMarket : null
14- }
15- } , async ( {
16- debug, debugTable, rest, ws, params, readline
17- } ) => {
18- const { filterByMarket } = params
5+ const WSv2 = require ( '../../lib/transports/ws2' )
6+ const { RESTv2 } = require ( '../../index' )
7+ const { args : { apiKey, apiSecret } , debug, debugTable, readline } = require ( '../util/setup' )
8+
9+ async function execute ( ) {
10+ const ws = new WSv2 ( {
11+ apiKey,
12+ apiSecret,
13+ transform : true
14+ } )
15+ const rest = new RESTv2 ( {
16+ apiKey,
17+ apiSecret,
18+ transform : true
19+ } )
20+ const filterByMarket = null
1921 const allPositions = await rest . positions ( )
22+ await ws . open ( )
23+ await ws . auth ( )
2024
2125 if ( allPositions . length === 0 ) {
2226 debug ( 'no open positions' )
27+ await ws . close ( )
28+ readline . close ( )
2329 return
2430 }
2531
@@ -34,6 +40,8 @@ module.exports = runExample({
3440
3541 if ( positions . length === 0 ) {
3642 debug ( 'no positions match filter' )
43+ await ws . close ( )
44+ readline . close ( )
3745 return
3846 }
3947
@@ -57,6 +65,8 @@ module.exports = runExample({
5765 )
5866
5967 if ( confirm . toLowerCase ( ) [ 0 ] !== 'y' ) {
68+ await ws . close ( )
69+ readline . close ( )
6070 return
6171 }
6272
@@ -70,4 +80,9 @@ module.exports = runExample({
7080
7181 debug ( '' )
7282 debug ( 'closed %d positions' , positions . length )
73- } )
83+
84+ await ws . close ( )
85+ readline . close ( )
86+ }
87+
88+ execute ( )
0 commit comments