(name, config, connectorRegistry, registry)
| 547 | }; |
| 548 | |
| 549 | function dataSourcesFromConfig(name, config, connectorRegistry, registry) { |
| 550 | let connectorPath; |
| 551 | |
| 552 | assert(typeof config === 'object', |
| 553 | 'can not create data source without config object'); |
| 554 | |
| 555 | if (typeof config.connector === 'string') { |
| 556 | const connectorName = config.connector; |
| 557 | if (connectorRegistry[connectorName]) { |
| 558 | config.connector = connectorRegistry[connectorName]; |
| 559 | } else { |
| 560 | connectorPath = path.join(__dirname, 'connectors', connectorName + '.js'); |
| 561 | |
| 562 | if (fs.existsSync(connectorPath)) { |
| 563 | config.connector = require(connectorPath); |
| 564 | } |
| 565 | } |
| 566 | if (config.connector && typeof config.connector === 'object' && !config.connector.name) |
| 567 | config.connector.name = connectorName; |
| 568 | } |
| 569 | |
| 570 | return registry.createDataSource(name, config); |
| 571 | } |
| 572 | |
| 573 | function configureModel(ModelCtor, config, app) { |
| 574 | assert(ModelCtor.prototype instanceof ModelCtor.registry.getModel('Model'), |
no outgoing calls
no test coverage detected
searching dependent graphs…