UNPKG

@saber2pr/nana

Version:
99 lines (98 loc) 2.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /* * @Author: saber2pr * @Date: 2019-04-07 22:12:44 * @Last Modified by: saber2pr * @Last Modified time: 2019-04-14 14:35:50 */ var http_1 = require("http"); var nana_1 = require("./common/nana"); var createRequestListener_1 = require("./createRequestListener"); var context_1 = require("./type/context"); var event_1 = require("@saber2pr/event"); var log_1 = require("./plugins/log"); var fsModule_1 = require("./modules/fsModule"); var Nana; (function (Nana) { /** * # Nanasaki * ^o^ * * @export * @param {Module[]} mods * @param {(currentMod: Module, pathFromRoot: string) => void} callback */ function love(mods, callback) { nana_1.nana(mods, callback); return Nana; } Nana.love = love; /** * use * * @export * @template T * @param {Plugin<T>} obj */ function use(obj) { Object.assign(context_1.__ctx, obj); return Nana; } Nana.use = use; /** * watch * * @export * @param {logconfig} config * @returns */ function watch(config) { Object.assign(log_1.__logconfig, config); return Nana; } Nana.watch = watch; /** * useModules * * @export * @param {Module[]} mods */ function useModules(mods) { nana_1.nana(mods, function (currentMod, url) { return event_1.subscribe(url, currentMod.service); }); return Nana; } Nana.useModules = useModules; /** * callback * * @export * @returns */ function callback() { return createRequestListener_1.createServerRequestListener(context_1.__ctx, log_1.__logconfig); } Nana.callback = callback; /** * server * * @export * @param {Module[]} mods * @returns */ function server(mods) { useModules([fsModule_1.HTMLIndexModule].concat(mods)); return http_1.createServer(callback()); } Nana.server = server; /** * fileServer * * @export * @returns */ function fileServer() { return server([fsModule_1.HTMLIndexModule, fsModule_1.FsModule]); } Nana.fileServer = fileServer; })(Nana = exports.Nana || (exports.Nana = {}));