smart-factory
Version:
functional programming-ready dependancy injector/ioc container library
37 lines • 1.54 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const lib_1 = require("../lib");
const modules_1 = require("./modules");
lib_1.injectable(modules_1.Modules.MysqlDriver, [modules_1.Modules.MysqlConfig], (cfg) => __awaiter(this, void 0, void 0, function* () {
const connection = connector(cfg);
return yield connection();
}));
const connector = (cfg) => () => __awaiter(this, void 0, void 0, function* () {
yield delay(0.5);
return {
query(sql, params) {
return __awaiter(this, void 0, void 0, function* () {
return [
{ test: 'test-data' },
{ test: 'test-data-2' }
];
});
}
};
});
const delay = (sec) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, sec * 1000);
});
};
//# sourceMappingURL=dummy-mysql.js.map