nix-api
Version:
<div align="center"> <img src="./docs/.vuepress/public/images/logo.png" width="200px"> </div>
84 lines (63 loc) • 2.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _html = _interopRequireDefault(require("./html"));
var _json = _interopRequireDefault(require("./json"));
var _markdown = _interopRequireDefault(require("./markdown"));
var _javascript = _interopRequireDefault(require("./javascript"));
var _default2 = _interopRequireDefault(require("./default"));
var _image = _interopRequireDefault(require("./image"));
var _path = _interopRequireDefault(require("path"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var Module =
/*#__PURE__*/
function () {
function Module(_ref) {
var basePath = _ref.basePath;
_classCallCheck(this, Module);
this.basePath = basePath;
this.modules = [_html.default, _json.default, _markdown.default, _javascript.default, _image.default, _default2.default];
}
_createClass(Module, [{
key: "resolveFile",
value: function resolveFile(fileModel) {
var _this = this;
return function (_ref2) {
var req = _ref2.req,
res = _ref2.res;
return _this._resolveFile(fileModel, {
req: req,
res: res
});
};
}
}, {
key: "_resolveFile",
value: function _resolveFile(fileModel, _ref3) {
var req = _ref3.req,
res = _ref3.res;
var findedModule = this.getModuleByExtension(fileModel.ext);
var pathFile = _path.default.resolve(this.basePath, fileModel.getPath());
if (!findedModule) return res.send("Module not found for this extension.");
findedModule.resolve(pathFile, {
req: req,
res: res
});
}
}, {
key: "getModuleByExtension",
value: function getModuleByExtension(extension) {
return this.modules.find(function (_module) {
return extension.match(_module.accept);
});
}
}]);
return Module;
}();
var _default = Module;
exports.default = _default;