@foolishchow/vue-cli-plugin-ts-router-gen
Version:
vue-router typescript generator for vue-class-component
19 lines (18 loc) • 1.67 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var os_1 = require("os");
exports.LoopMap = function (map, cb) {
var keys = map.keys();
var current = keys.next();
while (!current.done) {
var key = current.value;
var config = map.get(key);
cb(key, config);
current = keys.next();
}
};
var genImport = function (_import) { return "import {" + _import.name.join(",") + "} from \"" + _import.file + "\";"; };
var genRoutePath = function (Enum) { return " /**\n * " + Enum.name + "\n * @file " + Enum.fileName + "\n */\n " + Enum.constName + " = \"" + Enum.path + "\","; };
exports.Template = function (imports, RouteEnum, AppRoute, MenuRoute) {
return "/**\n * this file is auto generated\n * don't modify by hand\n */\nimport Vue from \"vue\";\nimport VueRouter,{RouteConfig} from \"vue-router\";\n" + imports.map(function (_import) { return genImport(_import); }).join(os_1.EOL) + "\n\nVue.use(VueRouter);\n\nexport type FRouteConfig = RouteConfig & {\n extra? : any;\n children?: FRouteConfig[]\n};\nenum AppRoutePath {\n" + RouteEnum.map(genRoutePath).join(os_1.EOL) + "\n};\n\nexport const AppRoutes:FRouteConfig[] = " + AppRoute + ";\nexport type RouterMenus = {\n sort: number|string;\n show: boolean;\n name: string;\n path: string;\n children?:RouterMenus[];\n meta:any,\n extra?:any\n}\nexport const AppMenuRoutes:RouterMenus[] = " + MenuRoute + ";\n\nObject.defineProperty(Vue.prototype, \"$AppRoutes\", {\n get() {\n return AppRoutePath;\n }\n});\n\ndeclare module \"vue/types/vue\" {\n interface Vue {\n $AppRoutes: typeof AppRoutePath;\n }\n}\n";
};