mirror of https://github.com/abpframework/abp.git
27 changed files with 2670 additions and 7 deletions
@ -0,0 +1,9 @@ |
|||||
|
import { RestService } from '@abp/ng.core'; |
||||
|
import { Observable } from 'rxjs'; |
||||
|
export declare class EditionService { |
||||
|
private restService; |
||||
|
constructor(restService: RestService); |
||||
|
get(id: string): Observable<any>; |
||||
|
getList(): Observable<any>; |
||||
|
getUsageStatistics(): Observable<any>; |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
"use strict"; |
||||
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
||||
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; |
||||
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); |
||||
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; |
||||
|
return c > 3 && r && Object.defineProperty(target, key, r), r; |
||||
|
}; |
||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
|
var core_1 = require("@angular/core"); |
||||
|
var EditionService = /** @class */ (function () { |
||||
|
function EditionService(restService) { |
||||
|
this.restService = restService; |
||||
|
} |
||||
|
EditionService.prototype.get = function (id) { |
||||
|
return this.restService.request({ |
||||
|
method: 'GET', |
||||
|
url: "/api/saas/editions/" + id, |
||||
|
}); |
||||
|
}; |
||||
|
EditionService.prototype.getList = function () { |
||||
|
return this.restService.request({ |
||||
|
method: 'GET', |
||||
|
url: "/api/saas/editions", |
||||
|
}); |
||||
|
}; |
||||
|
EditionService.prototype.getUsageStatistics = function () { |
||||
|
return this.restService.request({ |
||||
|
method: 'GET', |
||||
|
url: "/api/saas/editions/statistics/usage-statistic", |
||||
|
}); |
||||
|
}; |
||||
|
EditionService = __decorate([ |
||||
|
core_1.Injectable({ |
||||
|
providedIn: 'root', |
||||
|
}) |
||||
|
], EditionService); |
||||
|
return EditionService; |
||||
|
}()); |
||||
|
exports.EditionService = EditionService; |
||||
@ -0,0 +1,9 @@ |
|||||
|
import { RestService } from '@abp/ng.core'; |
||||
|
import { Observable } from 'rxjs'; |
||||
|
export declare class TenantService { |
||||
|
private restService; |
||||
|
constructor(restService: RestService); |
||||
|
get(id: string): Observable<any>; |
||||
|
getList(): Observable<any>; |
||||
|
getDefaultConnectionString(id: string): Observable<any>; |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
"use strict"; |
||||
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
||||
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; |
||||
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); |
||||
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; |
||||
|
return c > 3 && r && Object.defineProperty(target, key, r), r; |
||||
|
}; |
||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
|
var core_1 = require("@angular/core"); |
||||
|
var TenantService = /** @class */ (function () { |
||||
|
function TenantService(restService) { |
||||
|
this.restService = restService; |
||||
|
} |
||||
|
TenantService.prototype.get = function (id) { |
||||
|
return this.restService.request({ |
||||
|
method: 'GET', |
||||
|
url: "/api/saas/tenants/" + id, |
||||
|
}); |
||||
|
}; |
||||
|
TenantService.prototype.getList = function () { |
||||
|
return this.restService.request({ |
||||
|
method: 'GET', |
||||
|
url: "/api/saas/tenants", |
||||
|
}); |
||||
|
}; |
||||
|
TenantService.prototype.getDefaultConnectionString = function (id) { |
||||
|
return this.restService.request({ |
||||
|
method: 'GET', |
||||
|
url: "/api/saas/tenants/" + id + "/default-connection-string", |
||||
|
}); |
||||
|
}; |
||||
|
TenantService = __decorate([ |
||||
|
core_1.Injectable({ |
||||
|
providedIn: 'root', |
||||
|
}) |
||||
|
], TenantService); |
||||
|
return TenantService; |
||||
|
}()); |
||||
|
exports.TenantService = TenantService; |
||||
@ -0,0 +1,2 @@ |
|||||
|
import { APIDefination } from './types/api-defination'; |
||||
|
export declare function angular(data: APIDefination.Response, selectedModules: string[]): Promise<void>; |
||||
@ -0,0 +1,81 @@ |
|||||
|
"use strict"; |
||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { |
||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } |
||||
|
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) : adopt(result.value).then(fulfilled, rejected); } |
||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next()); |
||||
|
}); |
||||
|
}; |
||||
|
var __generator = (this && this.__generator) || function (thisArg, body) { |
||||
|
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; |
||||
|
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; |
||||
|
function verb(n) { return function (v) { return step([n, v]); }; } |
||||
|
function step(op) { |
||||
|
if (f) throw new TypeError("Generator is already executing."); |
||||
|
while (_) try { |
||||
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; |
||||
|
if (y = 0, t) op = [op[0] & 2, t.value]; |
||||
|
switch (op[0]) { |
||||
|
case 0: case 1: t = op; break; |
||||
|
case 4: _.label++; return { value: op[1], done: false }; |
||||
|
case 5: _.label++; y = op[1]; op = [0]; continue; |
||||
|
case 7: op = _.ops.pop(); _.trys.pop(); continue; |
||||
|
default: |
||||
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } |
||||
|
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } |
||||
|
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } |
||||
|
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } |
||||
|
if (t[2]) _.ops.pop(); |
||||
|
_.trys.pop(); continue; |
||||
|
} |
||||
|
op = body.call(thisArg, _); |
||||
|
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } |
||||
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; |
||||
|
} |
||||
|
}; |
||||
|
var __importDefault = (this && this.__importDefault) || function (mod) { |
||||
|
return (mod && mod.__esModule) ? mod : { "default": mod }; |
||||
|
}; |
||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
|
var service_templates_1 = require("./templates/angular/service-templates"); |
||||
|
var change_case_1 = __importDefault(require("change-case")); |
||||
|
var fs_extra_1 = __importDefault(require("fs-extra")); |
||||
|
var generators_1 = require("./utils/generators"); |
||||
|
function angular(data, selectedModules) { |
||||
|
return __awaiter(this, void 0, void 0, function () { |
||||
|
var _this = this; |
||||
|
return __generator(this, function (_a) { |
||||
|
selectedModules.forEach(function (module) { return __awaiter(_this, void 0, void 0, function () { |
||||
|
var element; |
||||
|
return __generator(this, function (_a) { |
||||
|
element = data.modules[module]; |
||||
|
(Object.keys(element.controllers) || []).forEach(function (key) { |
||||
|
var controller = element.controllers[key]; |
||||
|
var actions = element.controllers[key].actions; |
||||
|
var actionKeys = Object.keys(actions); |
||||
|
var contents = []; |
||||
|
actionKeys.forEach(function (key) { |
||||
|
var element = actions[key]; |
||||
|
console.log(element); |
||||
|
var parameters = generators_1.parseParameters(element.parameters); |
||||
|
switch (element.httpMethod) { |
||||
|
case 'GET': |
||||
|
contents.push(service_templates_1.ServiceTemplates.getMethodTemplate(element.name, element.url, generators_1.generateArgs(parameters), parameters)); |
||||
|
break; |
||||
|
default: |
||||
|
break; |
||||
|
} |
||||
|
}); |
||||
|
var service = service_templates_1.ServiceTemplates.classTemplate(controller.controllerName, contents.join('\n')); |
||||
|
fs_extra_1.default.writeFileSync("dist/" + change_case_1.default.kebabCase(controller.controllerName) + ".service.ts", service); |
||||
|
}); |
||||
|
return [2 /*return*/]; |
||||
|
}); |
||||
|
}); }); |
||||
|
return [2 /*return*/]; |
||||
|
}); |
||||
|
}); |
||||
|
} |
||||
|
exports.angular = angular; |
||||
@ -0,0 +1 @@ |
|||||
|
export declare function cli(program: any): Promise<void>; |
||||
@ -0,0 +1,113 @@ |
|||||
|
"use strict"; |
||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { |
||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } |
||||
|
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) : adopt(result.value).then(fulfilled, rejected); } |
||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next()); |
||||
|
}); |
||||
|
}; |
||||
|
var __generator = (this && this.__generator) || function (thisArg, body) { |
||||
|
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; |
||||
|
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; |
||||
|
function verb(n) { return function (v) { return step([n, v]); }; } |
||||
|
function step(op) { |
||||
|
if (f) throw new TypeError("Generator is already executing."); |
||||
|
while (_) try { |
||||
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; |
||||
|
if (y = 0, t) op = [op[0] & 2, t.value]; |
||||
|
switch (op[0]) { |
||||
|
case 0: case 1: t = op; break; |
||||
|
case 4: _.label++; return { value: op[1], done: false }; |
||||
|
case 5: _.label++; y = op[1]; op = [0]; continue; |
||||
|
case 7: op = _.ops.pop(); _.trys.pop(); continue; |
||||
|
default: |
||||
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } |
||||
|
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } |
||||
|
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } |
||||
|
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } |
||||
|
if (t[2]) _.ops.pop(); |
||||
|
_.trys.pop(); continue; |
||||
|
} |
||||
|
op = body.call(thisArg, _); |
||||
|
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } |
||||
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; |
||||
|
} |
||||
|
}; |
||||
|
var __importDefault = (this && this.__importDefault) || function (mod) { |
||||
|
return (mod && mod.__esModule) ? mod : { "default": mod }; |
||||
|
}; |
||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
|
var prompt_1 = require("./utils/prompt"); |
||||
|
var axios_1 = require("./utils/axios"); |
||||
|
var ora = require("ora"); |
||||
|
var angular_1 = require("./angular"); |
||||
|
var chalk_1 = __importDefault(require("chalk")); |
||||
|
function cli(program) { |
||||
|
return __awaiter(this, void 0, void 0, function () { |
||||
|
var _a, loading, data, apiUrl, error_1, selection, modules, _b; |
||||
|
var _this = this; |
||||
|
return __generator(this, function (_c) { |
||||
|
switch (_c.label) { |
||||
|
case 0: |
||||
|
if (!(program.ui !== 'angular')) return [3 /*break*/, 2]; |
||||
|
_a = program; |
||||
|
return [4 /*yield*/, prompt_1.uiSelection(['Angular'])]; |
||||
|
case 1: |
||||
|
_a.ui = (_c.sent()).toLowerCase(); |
||||
|
_c.label = 2; |
||||
|
case 2: |
||||
|
loading = ora('Waiting for the API response... \n'); |
||||
|
loading.start(); |
||||
|
data = {}; |
||||
|
apiUrl = 'https://localhost:44305/api/abp/api-definition'; |
||||
|
_c.label = 3; |
||||
|
case 3: |
||||
|
_c.trys.push([3, 5, , 6]); |
||||
|
return [4 /*yield*/, axios_1.axiosInstance.get(apiUrl)]; |
||||
|
case 4: |
||||
|
data = (_c.sent()).data; |
||||
|
return [3 /*break*/, 6]; |
||||
|
case 5: |
||||
|
error_1 = _c.sent(); |
||||
|
console.log(chalk_1.default.red('An error occurred when fetching the ' + apiUrl)); |
||||
|
process.exit(1); |
||||
|
return [3 /*break*/, 6]; |
||||
|
case 6: |
||||
|
console.log(data); |
||||
|
loading.stop(); |
||||
|
selection = function (modules) { return __awaiter(_this, void 0, void 0, function () { |
||||
|
var selectedModules; |
||||
|
return __generator(this, function (_a) { |
||||
|
switch (_a.label) { |
||||
|
case 0: return [4 /*yield*/, prompt_1.moduleSelection(modules)]; |
||||
|
case 1: |
||||
|
selectedModules = (_a.sent()); |
||||
|
if (!!selectedModules.length) return [3 /*break*/, 3]; |
||||
|
console.log(chalk_1.default.red('Please select module(s)')); |
||||
|
return [4 /*yield*/, selection(modules)]; |
||||
|
case 2: return [2 /*return*/, _a.sent()]; |
||||
|
case 3: return [2 /*return*/, selectedModules]; |
||||
|
} |
||||
|
}); |
||||
|
}); }; |
||||
|
modules = ['saas']; |
||||
|
_b = program.ui; |
||||
|
switch (_b) { |
||||
|
case 'angular': return [3 /*break*/, 7]; |
||||
|
} |
||||
|
return [3 /*break*/, 9]; |
||||
|
case 7: return [4 /*yield*/, angular_1.angular(data, modules)]; |
||||
|
case 8: |
||||
|
_c.sent(); |
||||
|
return [3 /*break*/, 10]; |
||||
|
case 9: |
||||
|
process.exit(1); |
||||
|
_c.label = 10; |
||||
|
case 10: return [2 /*return*/]; |
||||
|
} |
||||
|
}); |
||||
|
}); |
||||
|
} |
||||
|
exports.cli = cli; |
||||
@ -0,0 +1,2 @@ |
|||||
|
#!/usr/bin/env node |
||||
|
export {}; |
||||
@ -0,0 +1,24 @@ |
|||||
|
#!/usr/bin/env node
|
||||
|
"use strict"; |
||||
|
var __importDefault = (this && this.__importDefault) || function (mod) { |
||||
|
return (mod && mod.__esModule) ? mod : { "default": mod }; |
||||
|
}; |
||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
|
var chalk_1 = __importDefault(require("chalk")); |
||||
|
var commander_1 = __importDefault(require("commander")); |
||||
|
var cli_1 = require("./cli"); |
||||
|
var clear = require('clear'); |
||||
|
var figlet = require('figlet'); |
||||
|
clear(); |
||||
|
console.log(chalk_1.default.red(figlet.textSync('ABP', { horizontalLayout: 'full' }))); |
||||
|
commander_1.default |
||||
|
.version('0.0.1') |
||||
|
.description('ABP Client Generator') |
||||
|
.option('-u, --ui <type>', 'UI option (Angular)') |
||||
|
.parse(process.argv); |
||||
|
if (!process.argv.slice(2).length || !commander_1.default.ui || typeof commander_1.default.ui !== 'string') { |
||||
|
commander_1.default.outputHelp(); |
||||
|
process.exit(1); |
||||
|
} |
||||
|
commander_1.default.ui = commander_1.default.ui.toLowerCase(); |
||||
|
cli_1.cli(commander_1.default); |
||||
@ -0,0 +1,6 @@ |
|||||
|
import { Argument } from '../../utils/generators'; |
||||
|
export declare namespace ServiceTemplates { |
||||
|
function classTemplate(name: string, content: string): string; |
||||
|
function getMethodTemplate(name: string, url: string, args?: string, params?: Argument[], queryParams?: object): string; |
||||
|
function requestTemplate(method: string, url: string, params?: Argument[], body?: boolean, queryParams?: boolean): string; |
||||
|
} |
||||
@ -0,0 +1,31 @@ |
|||||
|
"use strict"; |
||||
|
var __importDefault = (this && this.__importDefault) || function (mod) { |
||||
|
return (mod && mod.__esModule) ? mod : { "default": mod }; |
||||
|
}; |
||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
|
var change_case_1 = __importDefault(require("change-case")); |
||||
|
var replacer_1 = require("../../utils/replacer"); |
||||
|
var ServiceTemplates; |
||||
|
(function (ServiceTemplates) { |
||||
|
function classTemplate(name, content) { |
||||
|
return "import { RestService } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class " + change_case_1.default.pascalCase(name) + "Service {\n constructor(private restService: RestService) {}\n " + content + "\n}"; |
||||
|
} |
||||
|
ServiceTemplates.classTemplate = classTemplate; |
||||
|
function getMethodTemplate(name, url, args, params, queryParams) { |
||||
|
if (args === void 0) { args = ''; } |
||||
|
if (params === void 0) { params = []; } |
||||
|
return "\n " + change_case_1.default.camelCase(replacer_1.replacer(name)) + "(" + args + "): Observable<any> {\n " + requestTemplate('GET', url, params, false, !!queryParams) + "\n }"; |
||||
|
} |
||||
|
ServiceTemplates.getMethodTemplate = getMethodTemplate; |
||||
|
function requestTemplate(method, url, params, body, queryParams) { |
||||
|
if (params === void 0) { params = []; } |
||||
|
params.forEach(function (param) { |
||||
|
var index = url.indexOf("{" + param.key + "}"); |
||||
|
if (index > -1) { |
||||
|
url = url.slice(0, index) + '$' + url.slice(index); |
||||
|
} |
||||
|
}); |
||||
|
return "return this.restService.request<void, any>({\n method: '" + method + "',\n url: `/" + url + "`," + (queryParams ? 'params: queryParams,' : '') + (body ? 'body,' : '') + "\n });"; |
||||
|
} |
||||
|
ServiceTemplates.requestTemplate = requestTemplate; |
||||
|
})(ServiceTemplates = exports.ServiceTemplates || (exports.ServiceTemplates = {})); |
||||
@ -0,0 +1,52 @@ |
|||||
|
export declare namespace APIDefination { |
||||
|
interface Response { |
||||
|
modules: Modules; |
||||
|
} |
||||
|
interface Modules { |
||||
|
[key: string]: Module; |
||||
|
} |
||||
|
interface Module { |
||||
|
rootPath: string; |
||||
|
controllers: { |
||||
|
[key: string]: Controller; |
||||
|
}; |
||||
|
} |
||||
|
interface Controller { |
||||
|
controllerName: string; |
||||
|
interfaces: { |
||||
|
typeAsString: string; |
||||
|
}[]; |
||||
|
typeAsString: string; |
||||
|
actions: { |
||||
|
[key: string]: Action; |
||||
|
}; |
||||
|
} |
||||
|
interface Action { |
||||
|
uniqueName: string; |
||||
|
name: string; |
||||
|
httpMethod: string; |
||||
|
url: string; |
||||
|
supportedVersions: any[]; |
||||
|
parametersOnMethod: ParametersOnMethod[]; |
||||
|
parameters: Parameter[]; |
||||
|
returnValue: ReturnValue; |
||||
|
} |
||||
|
interface Parameter { |
||||
|
nameOnMethod: string; |
||||
|
name: string; |
||||
|
typeAsString: string; |
||||
|
isOptional: boolean; |
||||
|
defaultValue: null; |
||||
|
constraintTypes: null; |
||||
|
bindingSourceId: string; |
||||
|
} |
||||
|
interface ParametersOnMethod { |
||||
|
name: string; |
||||
|
typeAsString: string; |
||||
|
isOptional: boolean; |
||||
|
defaultValue: null; |
||||
|
} |
||||
|
interface ReturnValue { |
||||
|
typeAsString: string; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,2 @@ |
|||||
|
"use strict"; |
||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
@ -0,0 +1 @@ |
|||||
|
export declare const axiosInstance: import("axios").AxiosInstance; |
||||
File diff suppressed because it is too large
@ -0,0 +1,9 @@ |
|||||
|
import { APIDefination } from '../types/api-defination'; |
||||
|
export interface Argument { |
||||
|
key: string; |
||||
|
type: string; |
||||
|
isOptional?: boolean; |
||||
|
} |
||||
|
export declare function generateArgs(args: Argument[]): string; |
||||
|
export declare function parseParameters(parameters: APIDefination.Parameter[]): Argument[]; |
||||
|
export declare function findType(typeAsString: string): string; |
||||
@ -0,0 +1,26 @@ |
|||||
|
"use strict"; |
||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
|
function generateArgs(args) { |
||||
|
return args.reduce(function (acc, val) { |
||||
|
var arg = "" + val.key + (val.isOptional ? '?' : '') + ": " + val.type; |
||||
|
if (acc) |
||||
|
return acc + ", " + arg; |
||||
|
else |
||||
|
return arg; |
||||
|
}, ''); |
||||
|
} |
||||
|
exports.generateArgs = generateArgs; |
||||
|
function parseParameters(parameters) { |
||||
|
return parameters |
||||
|
.filter(function (param) { return param.bindingSourceId === 'Path'; }) |
||||
|
.map(function (param) { |
||||
|
return { key: param.name, type: findType(param.typeAsString), isOptional: param.isOptional }; |
||||
|
}); |
||||
|
} |
||||
|
exports.parseParameters = parseParameters; |
||||
|
function findType(typeAsString) { |
||||
|
if (typeAsString.indexOf('Guid') > -1) |
||||
|
return 'string'; |
||||
|
return 'any'; |
||||
|
} |
||||
|
exports.findType = findType; |
||||
@ -0,0 +1,2 @@ |
|||||
|
export declare const uiSelection: (uiArray: string[]) => Promise<any>; |
||||
|
export declare const moduleSelection: (modules: string[]) => Promise<any>; |
||||
@ -0,0 +1,56 @@ |
|||||
|
"use strict"; |
||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { |
||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } |
||||
|
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) : adopt(result.value).then(fulfilled, rejected); } |
||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next()); |
||||
|
}); |
||||
|
}; |
||||
|
var __generator = (this && this.__generator) || function (thisArg, body) { |
||||
|
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; |
||||
|
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; |
||||
|
function verb(n) { return function (v) { return step([n, v]); }; } |
||||
|
function step(op) { |
||||
|
if (f) throw new TypeError("Generator is already executing."); |
||||
|
while (_) try { |
||||
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; |
||||
|
if (y = 0, t) op = [op[0] & 2, t.value]; |
||||
|
switch (op[0]) { |
||||
|
case 0: case 1: t = op; break; |
||||
|
case 4: _.label++; return { value: op[1], done: false }; |
||||
|
case 5: _.label++; y = op[1]; op = [0]; continue; |
||||
|
case 7: op = _.ops.pop(); _.trys.pop(); continue; |
||||
|
default: |
||||
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } |
||||
|
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } |
||||
|
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } |
||||
|
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } |
||||
|
if (t[2]) _.ops.pop(); |
||||
|
_.trys.pop(); continue; |
||||
|
} |
||||
|
op = body.call(thisArg, _); |
||||
|
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } |
||||
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; |
||||
|
} |
||||
|
}; |
||||
|
var __importDefault = (this && this.__importDefault) || function (mod) { |
||||
|
return (mod && mod.__esModule) ? mod : { "default": mod }; |
||||
|
}; |
||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
|
var inquirer_1 = __importDefault(require("inquirer")); |
||||
|
exports.uiSelection = function (uiArray) { return __awaiter(void 0, void 0, void 0, function () { |
||||
|
return __generator(this, function (_a) { |
||||
|
return [2 /*return*/, inquirer_1.default |
||||
|
.prompt({ type: 'list', name: 'Please select an UI', choices: uiArray }) |
||||
|
.then(function (res) { return res['Please select an UI']; })]; |
||||
|
}); |
||||
|
}); }; |
||||
|
exports.moduleSelection = function (modules) { return __awaiter(void 0, void 0, void 0, function () { |
||||
|
return __generator(this, function (_a) { |
||||
|
return [2 /*return*/, inquirer_1.default |
||||
|
.prompt({ type: 'checkbox', name: 'Please select module(s)', choices: modules }) |
||||
|
.then(function (res) { return res['Please select module(s)']; })]; |
||||
|
}); |
||||
|
}); }; |
||||
@ -0,0 +1 @@ |
|||||
|
export declare function replacer(text: string): string; |
||||
@ -0,0 +1,6 @@ |
|||||
|
"use strict"; |
||||
|
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
|
function replacer(text) { |
||||
|
return text.replace(/Async/, ''); |
||||
|
} |
||||
|
exports.replacer = replacer; |
||||
@ -1,13 +1,28 @@ |
|||||
export interface GenerateArgsParam { |
import { APIDefination } from '../types/api-defination'; |
||||
|
|
||||
|
export interface Argument { |
||||
key: string; |
key: string; |
||||
type: string; |
type: string; |
||||
isOptional?: boolean; |
isOptional?: boolean; |
||||
} |
} |
||||
|
|
||||
export function generateArgs(args: GenerateArgsParam[]): string { |
export function generateArgs(args: Argument[]): string { |
||||
return args.reduce((acc, val) => { |
return args.reduce((acc, val) => { |
||||
const arg = `${val.key}${val.isOptional ? '?' : ''}: ${val.type}`; |
const arg = `${val.key}${val.isOptional ? '?' : ''}: ${val.type}`; |
||||
if (acc) return `${acc}, ${arg}`; |
if (acc) return `${acc}, ${arg}`; |
||||
else return arg; |
else return arg; |
||||
}, ''); |
}, ''); |
||||
} |
} |
||||
|
|
||||
|
export function parseParameters(parameters: APIDefination.Parameter[]): Argument[] { |
||||
|
return parameters |
||||
|
.filter(param => param.bindingSourceId === 'Path') |
||||
|
.map(param => { |
||||
|
return { key: param.name, type: findType(param.typeAsString), isOptional: param.isOptional }; |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
export function findType(typeAsString: string): string { |
||||
|
if (typeAsString.indexOf('Guid') > -1) return 'string'; |
||||
|
return 'any'; |
||||
|
} |
||||
|
|||||
Loading…
Reference in new issue