MCPcopy
hub / github.com/ccxt/ccxt / getSkips

Method getSkips

java/tests/src/main/java/tests/exchange/TestMain.java:361–423  ·  view source on GitHub ↗
(Exchange exchange, Object methodName)

Source from the content-addressed store, hash-verified

359 }
360
361 public Object getSkips(Exchange exchange, Object methodName)
362 {
363 Object finalSkips = new java.util.HashMap<String, Object>() {{}};
364 // check the exact method (i.e. `fetchTrades`) and language-specific (i.e. `fetchTrades.php`)
365 Object methodNames = new java.util.ArrayList<Object>(java.util.Arrays.asList(methodName, Helpers.add(Helpers.add(methodName, "."), this.ext)));
366 for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(methodNames)); i++)
367 {
368 Object mName = Helpers.GetValue(methodNames, i);
369 if (Helpers.isTrue(Helpers.inOp(this.skippedMethods, mName)))
370 {
371 // if whole method is skipped, by assigning a string to it, i.e. "fetchOrders":"blabla"
372 if (Helpers.isTrue((Helpers.GetValue(this.skippedMethods, mName) instanceof String)))
373 {
374 return Helpers.GetValue(this.skippedMethods, mName);
375 } else
376 {
377 finalSkips = exchange.deepExtend(finalSkips, Helpers.GetValue(this.skippedMethods, mName));
378 }
379 }
380 }
381 // get "object-specific" skips
382 Object objectSkips = new java.util.HashMap<String, Object>() {{
383 put( "orderBook", new java.util.ArrayList<Object>(java.util.Arrays.asList("fetchOrderBook", "fetchOrderBooks", "fetchL2OrderBook", "watchOrderBook", "watchOrderBookForSymbols")) );
384 put( "ticker", new java.util.ArrayList<Object>(java.util.Arrays.asList("fetchTicker", "fetchTickers", "watchTicker", "watchTickers")) );
385 put( "trade", new java.util.ArrayList<Object>(java.util.Arrays.asList("fetchTrades", "watchTrades", "watchTradesForSymbols")) );
386 put( "ohlcv", new java.util.ArrayList<Object>(java.util.Arrays.asList("fetchOHLCV", "watchOHLCV", "watchOHLCVForSymbols")) );
387 put( "ledger", new java.util.ArrayList<Object>(java.util.Arrays.asList("fetchLedger", "fetchLedgerEntry")) );
388 put( "depositWithdraw", new java.util.ArrayList<Object>(java.util.Arrays.asList("fetchDepositsWithdrawals", "fetchDeposits", "fetchWithdrawals")) );
389 put( "depositWithdrawFee", new java.util.ArrayList<Object>(java.util.Arrays.asList("fetchDepositWithdrawFee", "fetchDepositWithdrawFees")) );
390 }};
391 Object objectNames = Helpers.objectKeys(objectSkips);
392 for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(objectNames)); i++)
393 {
394 Object objectName = Helpers.GetValue(objectNames, i);
395 Object objectMethods = Helpers.GetValue(objectSkips, objectName);
396 if (Helpers.isTrue(exchange.inArray(methodName, objectMethods)))
397 {
398 // if whole object is skipped, by assigning a string to it, i.e. "orderBook":"blabla"
399 if (Helpers.isTrue(Helpers.isTrue((Helpers.inOp(this.skippedMethods, objectName))) && Helpers.isTrue(((Helpers.GetValue(this.skippedMethods, objectName) instanceof String)))))
400 {
401 return Helpers.GetValue(this.skippedMethods, objectName);
402 }
403 Object extraSkips = exchange.safeDict(this.skippedMethods, objectName, new java.util.HashMap<String, Object>() {{}});
404 finalSkips = exchange.deepExtend(finalSkips, extraSkips);
405 }
406 }
407 // extend related skips
408 // - if 'timestamp' is skipped, we should do so for 'datetime' too
409 // - if 'bid' is skipped, skip 'ask' too
410 if (Helpers.isTrue(Helpers.isTrue((Helpers.inOp(finalSkips, "timestamp"))) && !Helpers.isTrue((Helpers.inOp(finalSkips, "datetime")))))
411 {
412 Helpers.addElementToObject(finalSkips, "datetime", Helpers.GetValue(finalSkips, "timestamp"));
413 }
414 if (Helpers.isTrue(Helpers.isTrue((Helpers.inOp(finalSkips, "bid"))) && !Helpers.isTrue((Helpers.inOp(finalSkips, "ask")))))
415 {
416 Helpers.addElementToObject(finalSkips, "ask", Helpers.GetValue(finalSkips, "bid"));
417 }
418 if (Helpers.isTrue(Helpers.isTrue((Helpers.inOp(finalSkips, "baseVolume"))) && !Helpers.isTrue((Helpers.inOp(finalSkips, "quoteVolume")))))

Callers 2

testMethodMethod · 0.95
testHasPropsMethod · 0.95

Calls 11

addMethod · 0.95
isLessThanMethod · 0.95
getArrayLengthMethod · 0.95
GetValueMethod · 0.95
isTrueMethod · 0.95
inOpMethod · 0.95
objectKeysMethod · 0.95
addElementToObjectMethod · 0.95
deepExtendMethod · 0.45
inArrayMethod · 0.45
safeDictMethod · 0.45

Tested by

no test coverage detected