nestjs-ccxt
Version:
CCXT module for Nest framework (node.js) 🚀
57 lines • 2.57 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createAsyncOptions = exports.createAsyncOptionsProvider = exports.createAsyncProviders = exports.createCcxtProvider = void 0;
const ccxt_constants_1 = require("./ccxt.constants");
const default_options_1 = require("./default-options");
function createCcxtProvider(options) {
return {
provide: ccxt_constants_1.CCXT_MODULE_OPTIONS,
useValue: Object.assign(Object.assign({}, default_options_1.defaultCcxtModuleOptions), options),
};
}
exports.createCcxtProvider = createCcxtProvider;
function createAsyncProviders(options) {
if (options.useExisting || options.useFactory) {
return [createAsyncOptionsProvider(options)];
}
return [
createAsyncOptionsProvider(options),
{
provide: options.useClass,
useClass: options.useClass,
},
];
}
exports.createAsyncProviders = createAsyncProviders;
function createAsyncOptionsProvider(options) {
if (options.useFactory) {
return {
provide: ccxt_constants_1.CCXT_MODULE_OPTIONS,
useFactory: options.useFactory,
inject: options.inject || [],
};
}
return {
provide: ccxt_constants_1.CCXT_MODULE_OPTIONS,
useFactory: createAsyncOptions,
inject: [options.useExisting || options.useClass],
};
}
exports.createAsyncOptionsProvider = createAsyncOptionsProvider;
function createAsyncOptions(optionsFactory) {
return __awaiter(this, void 0, void 0, function* () {
const options = yield optionsFactory.createCcxtOptions();
return Object.assign(Object.assign({}, default_options_1.defaultCcxtModuleOptions), options);
});
}
exports.createAsyncOptions = createAsyncOptions;
//# sourceMappingURL=ccxt.providers.js.map