@nestia/sdk 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -0
- package/lib/executable/sdk.js +23 -2
- package/lib/executable/sdk.js.map +1 -1
- package/package.json +2 -1
- package/src/executable/sdk.ts +25 -2
- package/lib/test/TestBuilder.d.ts +0 -4
- package/lib/test/TestBuilder.js +0 -64
- package/lib/test/TestBuilder.js.map +0 -1
- package/lib/test/index.d.ts +0 -1
- package/lib/test/index.js +0 -61
- package/lib/test/index.js.map +0 -1
- package/lib/test/test.builder.executor.d.ts +0 -1
- package/lib/test/test.builder.executor.js +0 -24
- package/lib/test/test.builder.executor.js.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Nestia SDK
|
|
2
|
+
[](https://github.com/samchon/nestia/blob/master/LICENSE)
|
|
3
|
+
[](https://www.npmjs.com/package/@nestia/sdk)
|
|
4
|
+
[](https://www.npmjs.com/package/@nestia/sdk)
|
|
5
|
+
[](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
|
|
6
|
+
[](https://github.com/samchon/nestia/wiki)
|
|
7
|
+
|
|
8
|
+
Automatic *SDK* and *Swagger* generator for `@nestia/core`.
|
|
9
|
+
|
|
10
|
+
With `@nestia/core`, you can boost up validation speed maximum **15,000x times faster**. However, as `@nestjs/swagger` does not support `@nestia/core`, you can't generate swagger documents from `@nestjs/swagger` more.
|
|
11
|
+
|
|
12
|
+
Instead, I provide you `@nestia/sdk` module, which can generate not only swagger documents, but also SDK (Software Development Kit) library.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Setup
|
|
17
|
+
### Boilerplate Project
|
|
18
|
+
```bash
|
|
19
|
+
npx nestia start <directory>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Just run above command, then boilerplate project would be constructed.
|
|
23
|
+
|
|
24
|
+
### Setup Wizard
|
|
25
|
+
```bash
|
|
26
|
+
npx nestia setup
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
When you want to use `nestia` in orindary project, just type above command.
|
|
30
|
+
|
|
31
|
+
All installation and configuration processes would be automatically done.
|
|
32
|
+
|
|
33
|
+
Also, you can specify package manager by `--manage` argument like below:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx nestia setup --manager npm
|
|
37
|
+
npx nestia setup --manager pnpm
|
|
38
|
+
npx nestia setup --manager yarn
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Sole Setup
|
|
42
|
+
If you want to install and setup `@nestia/sdk` only, just do it.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm install --save-dev @nestia/sdk
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## Usage
|
|
52
|
+
```bash
|
|
53
|
+
# BASIC COMMAND
|
|
54
|
+
npx nestia <sdk|swagger> <source_directories_or_patterns> \
|
|
55
|
+
--exclude <exclude_directory_or_pattern> \
|
|
56
|
+
--out <output_directory_or_file>
|
|
57
|
+
|
|
58
|
+
# EXAMPLES
|
|
59
|
+
npx nestia sdk "src/**/*.controller.ts" --out "src/api"
|
|
60
|
+
npx nestia swagger "src/controllers" --out "dist/swagger.json"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
You can generate sdk or swagger documents by above commands.
|
|
64
|
+
|
|
65
|
+
If you've configured `nestia.config.ts` file, you can omit all options like below. About the `nestia.config.ts` file, read [Guide Documents - Configuration](https://github.com/samchon/nestia/wiki/Configuration)
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npx nestia sdk
|
|
69
|
+
npx nestia swagger
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## Demonstration
|
|
76
|
+
When you generate SDK library through `npx nestia sdk` command, `@nestia/sdk` will generate below code, by analyzing your backend source code in the compilation level.
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
import { Fetcher, IConnection } from "@nestia/fetcher";
|
|
80
|
+
import { IBbsArticle } from "../../../structures/IBbsArticle";
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Store a new content.
|
|
84
|
+
*
|
|
85
|
+
* @param input Content to store
|
|
86
|
+
* @returns Newly archived article
|
|
87
|
+
*/
|
|
88
|
+
export function store(
|
|
89
|
+
connection: api.IConnection,
|
|
90
|
+
input: IBbsArticle.IStore
|
|
91
|
+
): Promise<IBbsArticle> {
|
|
92
|
+
return Fetcher.fetch(
|
|
93
|
+
connection,
|
|
94
|
+
store.ENCRYPTED,
|
|
95
|
+
store.METHOD,
|
|
96
|
+
store.path(),
|
|
97
|
+
input
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
export namespace store {
|
|
101
|
+
export const METHOD = "POST" as const;
|
|
102
|
+
export function path(): string {
|
|
103
|
+
return "/bbs/articles";
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
With SDK library, client developers would get take advantages of TypeScript like below.
|
|
109
|
+
|
|
110
|
+
If you want to learn how to distribute SDK library, visit and read [Guide Documents - Distribution](https://github.com/samchon/nestia/wiki/Distribution).
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
import api from "@bbs-api";
|
|
114
|
+
import typia from "typia";
|
|
115
|
+
|
|
116
|
+
export async function test_bbs_article_store(connection: api.IConnection) {
|
|
117
|
+
const article: IBbsArticle = await api.functional.bbs.articles.store(
|
|
118
|
+
connection,
|
|
119
|
+
{
|
|
120
|
+
name: "John Doe",
|
|
121
|
+
title: "some title",
|
|
122
|
+
content: "some content",
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
typia.assert(article);
|
|
126
|
+
console.log(article);
|
|
127
|
+
}
|
|
128
|
+
```
|
package/lib/executable/sdk.js
CHANGED
|
@@ -40,6 +40,27 @@ const child_process_1 = __importDefault(require("child_process"));
|
|
|
40
40
|
const fs_1 = __importDefault(require("fs"));
|
|
41
41
|
const process_1 = __importDefault(require("process"));
|
|
42
42
|
const CommandParser_1 = require("./internal/CommandParser");
|
|
43
|
+
const USAGE = `Wrong command has been detected. Use like below:
|
|
44
|
+
|
|
45
|
+
npx @nestia/sdk [command] [options?]
|
|
46
|
+
|
|
47
|
+
1. npx @nestia/sdk dependencies --manager (npm|pnpm|yarn)
|
|
48
|
+
- npx @nestia/sdk dependencies
|
|
49
|
+
- npx @nestia/sdk dependencies --manager pnpm
|
|
50
|
+
2. npx @nestia/sdk init
|
|
51
|
+
3. npx @nestia/sdk sdk <input> --out <output>
|
|
52
|
+
- npx @nestia/sdk sdk # when "nestia.config.ts" be configured
|
|
53
|
+
- npx @nestia/sdk sdk src/controllers --out src/api
|
|
54
|
+
- npx @nestia/sdk sdk src/**/*.controller.ts --out src/api
|
|
55
|
+
4. npx @nestia/sdk swagger <input> --out <output>
|
|
56
|
+
- npx @nestia/sdk swagger # when "nestia.config.ts" be configured
|
|
57
|
+
- npx @nestia/sdk swagger src/controllers --out src/api
|
|
58
|
+
- npx @nestia/sdk swagger src/**/*.controller.ts --out src/api
|
|
59
|
+
`;
|
|
60
|
+
function halt(desc) {
|
|
61
|
+
console.error(desc);
|
|
62
|
+
process_1.default.exit(-1);
|
|
63
|
+
}
|
|
43
64
|
function dependencies(argv) {
|
|
44
65
|
var _a;
|
|
45
66
|
// INSTALL DEPENDENCIES
|
|
@@ -53,7 +74,7 @@ function dependencies(argv) {
|
|
|
53
74
|
function initialize() {
|
|
54
75
|
return __awaiter(this, void 0, void 0, function* () {
|
|
55
76
|
if (fs_1.default.existsSync("nestia.config.ts") === true)
|
|
56
|
-
|
|
77
|
+
halt(`Error on nestia.sdk.initialize(): "nestia.config.ts" file already has been configured.`);
|
|
57
78
|
yield fs_1.default.promises.copyFile(`${__dirname}/../../assets/config/nestia.config.ts`, "nestia.config.ts");
|
|
58
79
|
});
|
|
59
80
|
}
|
|
@@ -76,7 +97,7 @@ function main() {
|
|
|
76
97
|
else if (type === "swagger")
|
|
77
98
|
yield execute((c) => c.swagger(argv));
|
|
78
99
|
else
|
|
79
|
-
|
|
100
|
+
halt(USAGE);
|
|
80
101
|
});
|
|
81
102
|
}
|
|
82
103
|
main().catch((exp) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/executable/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kEAA+B;AAC/B,4CAAoB;AACpB,sDAA8B;AAE9B,4DAAyD;AAGzD,SAAS,YAAY,CAAC,IAAc;;IAChC,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAA,6BAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,mCAAI,KAAK,CAAC;IACzD,MAAM,MAAM,GAAW,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC;IAE5E,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE;QAC5C,MAAM,OAAO,GAAW,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;QAC3C,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;KAC9C;AACL,CAAC;AAED,SAAe,UAAU;;QACrB,IAAI,YAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,IAAI;YAC1C,
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/executable/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kEAA+B;AAC/B,4CAAoB;AACpB,sDAA8B;AAE9B,4DAAyD;AAGzD,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;CAgBb,CAAC;AAEF,SAAS,IAAI,CAAC,IAAY;IACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;;IAChC,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAA,6BAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,mCAAI,KAAK,CAAC;IACzD,MAAM,MAAM,GAAW,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC;IAE5E,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE;QAC5C,MAAM,OAAO,GAAW,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;QAC3C,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;KAC9C;AACL,CAAC;AAED,SAAe,UAAU;;QACrB,IAAI,YAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,IAAI;YAC1C,IAAI,CACA,wFAAwF,CAC3F,CAAC;QACN,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CACtB,GAAG,SAAS,uCAAuC,EACnD,kBAAkB,CACrB,CAAC;IACN,CAAC;CAAA;AAED,SAAe,OAAO,CAClB,OAA8D;;QAE9D,MAAM,MAAM,GAAG,wDAAa,6BAA6B,GAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;CAAA;AAED,SAAe,IAAI;;QACf,MAAM,IAAI,GAAuB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAa,iBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,IAAI,KAAK,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,CAAC;aAC3C,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,UAAU,EAAE,CAAC;aACxC,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;aACtD,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;;YAC9D,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;CAAA;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Nestia SDK and Swagger generator",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"assets",
|
|
67
67
|
"lib",
|
|
68
68
|
"src",
|
|
69
|
+
"!lib/test",
|
|
69
70
|
"!src/test",
|
|
70
71
|
"README.md",
|
|
71
72
|
"LICENSE",
|
package/src/executable/sdk.ts
CHANGED
|
@@ -6,6 +6,29 @@ import process from "process";
|
|
|
6
6
|
import { CommandParser } from "./internal/CommandParser";
|
|
7
7
|
import type { NestiaSdkCommand } from "./internal/NestiaSdkCommand";
|
|
8
8
|
|
|
9
|
+
const USAGE = `Wrong command has been detected. Use like below:
|
|
10
|
+
|
|
11
|
+
npx @nestia/sdk [command] [options?]
|
|
12
|
+
|
|
13
|
+
1. npx @nestia/sdk dependencies --manager (npm|pnpm|yarn)
|
|
14
|
+
- npx @nestia/sdk dependencies
|
|
15
|
+
- npx @nestia/sdk dependencies --manager pnpm
|
|
16
|
+
2. npx @nestia/sdk init
|
|
17
|
+
3. npx @nestia/sdk sdk <input> --out <output>
|
|
18
|
+
- npx @nestia/sdk sdk # when "nestia.config.ts" be configured
|
|
19
|
+
- npx @nestia/sdk sdk src/controllers --out src/api
|
|
20
|
+
- npx @nestia/sdk sdk src/**/*.controller.ts --out src/api
|
|
21
|
+
4. npx @nestia/sdk swagger <input> --out <output>
|
|
22
|
+
- npx @nestia/sdk swagger # when "nestia.config.ts" be configured
|
|
23
|
+
- npx @nestia/sdk swagger src/controllers --out src/api
|
|
24
|
+
- npx @nestia/sdk swagger src/**/*.controller.ts --out src/api
|
|
25
|
+
`;
|
|
26
|
+
|
|
27
|
+
function halt(desc: string): never {
|
|
28
|
+
console.error(desc);
|
|
29
|
+
process.exit(-1);
|
|
30
|
+
}
|
|
31
|
+
|
|
9
32
|
function dependencies(argv: string[]): void {
|
|
10
33
|
// INSTALL DEPENDENCIES
|
|
11
34
|
const module = CommandParser.parse(argv).module ?? "npm";
|
|
@@ -19,7 +42,7 @@ function dependencies(argv: string[]): void {
|
|
|
19
42
|
|
|
20
43
|
async function initialize(): Promise<void> {
|
|
21
44
|
if (fs.existsSync("nestia.config.ts") === true)
|
|
22
|
-
|
|
45
|
+
halt(
|
|
23
46
|
`Error on nestia.sdk.initialize(): "nestia.config.ts" file already has been configured.`,
|
|
24
47
|
);
|
|
25
48
|
await fs.promises.copyFile(
|
|
@@ -43,7 +66,7 @@ async function main() {
|
|
|
43
66
|
else if (type === "init") await initialize();
|
|
44
67
|
else if (type === "sdk") await execute((c) => c.sdk(argv));
|
|
45
68
|
else if (type === "swagger") await execute((c) => c.swagger(argv));
|
|
46
|
-
else
|
|
69
|
+
else halt(USAGE);
|
|
47
70
|
}
|
|
48
71
|
main().catch((exp) => {
|
|
49
72
|
console.log(exp.message);
|
package/lib/test/TestBuilder.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.TestBuilder = void 0;
|
|
16
|
-
const child_process_1 = __importDefault(require("child_process"));
|
|
17
|
-
const fs_1 = __importDefault(require("fs"));
|
|
18
|
-
const NestiaSdkCommand_1 = require("../executable/internal/NestiaSdkCommand");
|
|
19
|
-
var TestBuilder;
|
|
20
|
-
(function (TestBuilder) {
|
|
21
|
-
function generate(name, job, argv) {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const task = job === "sdk"
|
|
24
|
-
? {
|
|
25
|
-
generate: NestiaSdkCommand_1.NestiaSdkCommand.sdk,
|
|
26
|
-
file: "src/api/functional/index.ts",
|
|
27
|
-
}
|
|
28
|
-
: {
|
|
29
|
-
generate: NestiaSdkCommand_1.NestiaSdkCommand.swagger,
|
|
30
|
-
file: "swagger.json",
|
|
31
|
-
};
|
|
32
|
-
process.chdir(`${PATH}/../../demo/${name}`);
|
|
33
|
-
if (fs_1.default.existsSync(task.file))
|
|
34
|
-
yield fs_1.default.promises.unlink(task.file);
|
|
35
|
-
try {
|
|
36
|
-
yield task.generate(argv, false);
|
|
37
|
-
if (fs_1.default.existsSync(task.file) === false)
|
|
38
|
-
throw new Error(`Bug on NestiaCommand.${job}(): failed to generate file(s).`);
|
|
39
|
-
}
|
|
40
|
-
catch (exp) {
|
|
41
|
-
console.log(exp);
|
|
42
|
-
throw exp;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
TestBuilder.generate = generate;
|
|
47
|
-
function test(name) {
|
|
48
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
process.chdir(`${PATH}/../../demo/${name}`);
|
|
50
|
-
try {
|
|
51
|
-
child_process_1.default.execSync("npx ts-node -C ttypescript src/test", {
|
|
52
|
-
stdio: "inherit",
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
catch (exp) {
|
|
56
|
-
console.log(exp);
|
|
57
|
-
throw exp;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
TestBuilder.test = test;
|
|
62
|
-
const PATH = __dirname;
|
|
63
|
-
})(TestBuilder = exports.TestBuilder || (exports.TestBuilder = {}));
|
|
64
|
-
//# sourceMappingURL=TestBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TestBuilder.js","sourceRoot":"","sources":["../../src/test/TestBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAA+B;AAC/B,4CAAoB;AAEpB,8EAA2E;AAE3E,IAAiB,WAAW,CA8C3B;AA9CD,WAAiB,WAAW;IACxB,SAAsB,QAAQ,CAC1B,IAAY,EACZ,GAAsB,EACtB,IAAc;;YAEd,MAAM,IAAI,GACN,GAAG,KAAK,KAAK;gBACT,CAAC,CAAC;oBACI,QAAQ,EAAE,mCAAgB,CAAC,GAAG;oBAC9B,IAAI,EAAE,6BAA6B;iBACtC;gBACH,CAAC,CAAC;oBACI,QAAQ,EAAE,mCAAgB,CAAC,OAAO;oBAClC,IAAI,EAAE,cAAc;iBACvB,CAAC;YAEZ,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,eAAe,IAAI,EAAE,CAAC,CAAC;YAC5C,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,MAAM,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI;gBACA,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjC,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK;oBAClC,MAAM,IAAI,KAAK,CACX,wBAAwB,GAAG,iCAAiC,CAC/D,CAAC;aACT;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,GAAG,CAAC;aACb;QACL,CAAC;KAAA;IA7BqB,oBAAQ,WA6B7B,CAAA;IAED,SAAsB,IAAI,CAAC,IAAY;;YACnC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,eAAe,IAAI,EAAE,CAAC,CAAC;YAE5C,IAAI;gBACA,uBAAE,CAAC,QAAQ,CAAC,qCAAqC,EAAE;oBAC/C,KAAK,EAAE,SAAS;iBACnB,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,GAAG,CAAC;aACb;QACL,CAAC;KAAA;IAXqB,gBAAI,OAWzB,CAAA;IAED,MAAM,IAAI,GAAG,SAAS,CAAC;AAC3B,CAAC,EA9CgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QA8C3B"}
|
package/lib/test/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/test/index.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const WorkerConnector_1 = require("tgrid/protocols/workers/WorkerConnector");
|
|
13
|
-
function execute(name, job, elements) {
|
|
14
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
if (job === "test")
|
|
16
|
-
console.log(`${name} -> npx ts-node -C ttypescript src/test`);
|
|
17
|
-
else
|
|
18
|
-
console.log(`${name} -> npx nestia ${job} ${elements.join(" ")}`);
|
|
19
|
-
const worker = new WorkerConnector_1.WorkerConnector(null, null, "process");
|
|
20
|
-
yield worker.connect(`${__dirname}/test.builder.executor.js`);
|
|
21
|
-
try {
|
|
22
|
-
const driver = worker.getDriver();
|
|
23
|
-
if (job === "test")
|
|
24
|
-
yield driver.test(name);
|
|
25
|
-
else
|
|
26
|
-
yield driver.generate(name, job, elements);
|
|
27
|
-
yield worker.close();
|
|
28
|
-
}
|
|
29
|
-
catch (exp) {
|
|
30
|
-
yield worker.close();
|
|
31
|
-
process.exit(-1);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
function get_arguments(target, job, specialize = false) {
|
|
36
|
-
return [
|
|
37
|
-
target === "directory" ? "src/controllers" : "src/**/*.controller.ts",
|
|
38
|
-
"--out",
|
|
39
|
-
job === "sdk" ? "src/api" : specialize ? "swagger.json" : "./",
|
|
40
|
-
];
|
|
41
|
-
}
|
|
42
|
-
function main() {
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
console.log("Build Demonstration Projects");
|
|
45
|
-
for (const job of ["swagger", "sdk", "test"]) {
|
|
46
|
-
console.log("---------------------------------------------------------");
|
|
47
|
-
yield execute("176", job, get_arguments("directory", job));
|
|
48
|
-
yield execute("encrypted", job, get_arguments("directory", job));
|
|
49
|
-
yield execute("generic", job, get_arguments("directory", job));
|
|
50
|
-
yield execute("recursive", job, get_arguments("pattern", job));
|
|
51
|
-
yield execute("safe", job, get_arguments("directory", job));
|
|
52
|
-
yield execute("union", job, get_arguments("directory", job));
|
|
53
|
-
yield execute("multiple-paths", job, get_arguments("directory", job));
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
main().catch((exp) => {
|
|
58
|
-
console.log(exp);
|
|
59
|
-
process.exit(-1);
|
|
60
|
-
});
|
|
61
|
-
//# sourceMappingURL=index.js.map
|
package/lib/test/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6EAA0E;AAI1E,SAAe,OAAO,CAClB,IAAY,EACZ,GAA+B,EAC/B,QAAkB;;QAElB,IAAI,GAAG,KAAK,MAAM;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,yCAAyC,CAAC,CAAC;;YAC7D,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,kBAAkB,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEvE,MAAM,MAAM,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,2BAA2B,CAAC,CAAC;QAE9D,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAsB,CAAC;YACtD,IAAI,GAAG,KAAK,MAAM;gBAAE,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;gBACvC,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;SACxB;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACpB;IACL,CAAC;CAAA;AAED,SAAS,aAAa,CAClB,MAA+B,EAC/B,GAA+B,EAC/B,aAAsB,KAAK;IAE3B,OAAO;QACH,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,wBAAwB;QACrE,OAAO;QACP,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;KACjE,CAAC;AACN,CAAC;AAED,SAAe,IAAI;;QACf,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAU,EAAE;YACnD,OAAO,CAAC,GAAG,CACP,2DAA2D,CAC9D,CAAC;YACF,MAAM,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,MAAM,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YACjE,MAAM,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/D,MAAM,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/D,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5D,MAAM,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7D,MAAM,OAAO,CAAC,gBAAgB,EAAE,GAAG,EAAE,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;SACzE;IACL,CAAC;CAAA;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const WorkerServer_1 = require("tgrid/protocols/workers/WorkerServer");
|
|
13
|
-
const TestBuilder_1 = require("./TestBuilder");
|
|
14
|
-
function main() {
|
|
15
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
const worker = new WorkerServer_1.WorkerServer();
|
|
17
|
-
yield worker.open(TestBuilder_1.TestBuilder);
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
main().catch((exp) => {
|
|
21
|
-
console.log(exp);
|
|
22
|
-
process.exit(-1);
|
|
23
|
-
});
|
|
24
|
-
//# sourceMappingURL=test.builder.executor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.builder.executor.js","sourceRoot":"","sources":["../../src/test/test.builder.executor.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uEAAoE;AAEpE,+CAA4C;AAE5C,SAAe,IAAI;;QACf,MAAM,MAAM,GAAG,IAAI,2BAAY,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAW,CAAC,CAAC;IACnC,CAAC;CAAA;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
|