UNPKG

webserv

Version:

a quick, flexible, fully typed development server

34 lines 1.62 kB
(function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "path", "../../core/services/crud.service", "../../core/util/file/readDir", "../../core/util/file/readFile"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = require("path"); const crud_service_1 = require("../../core/services/crud.service"); const readDir_1 = require("../../core/util/file/readDir"); const readFile_1 = require("../../core/util/file/readFile"); function createFileLoader(path) { function dataLoader(id) { if (id) { const filePath = path_1.resolve(path, `${id}.json`); return readFile_1.readJsonFile(filePath).catch(() => undefined); } return readDir_1.readDir(path).then((files) => Promise.all(files.filter((file) => file.endsWith('.json')).map((file) => readFile_1.readJsonFile(path_1.resolve(path, file))))); } return dataLoader; } exports.bootCrudService = (config, { configPath }) => { if (config.loadData) { const path = path_1.resolve(configPath, config.loadData.path); config.dataLoader = createFileLoader(path); } return crud_service_1.crudService(config); }; }); //# sourceMappingURL=crud.js.map