@lsby/net-core 0.3.2 → 0.3.4
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/dist/bin/gen-list/bin.cjs +0 -9
- package/dist/bin/gen-list/index.cjs +0 -9
- package/dist/bin/gen-test/bin.cjs +0 -9
- package/dist/bin/gen-test/index.cjs +0 -9
- package/dist/cjs/bin/gen-list/bin.cjs +0 -9
- package/dist/cjs/bin/gen-list/index.cjs +0 -9
- package/dist/cjs/bin/gen-test/bin.cjs +0 -9
- package/dist/cjs/bin/gen-test/index.cjs +0 -9
- package/dist/cjs/index.cjs +21 -0
- package/dist/cjs/index.d.cts +2 -0
- package/dist/cjs/interface/interface-abstract.cjs +53 -0
- package/dist/cjs/interface/interface-abstract.d.cts +23 -0
- package/dist/cjs/test/test-abstract.cjs +51 -0
- package/dist/cjs/test/test-abstract.d.cts +15 -0
- package/dist/cjs/test/test.d.cts +3 -3
- package/dist/esm/bin/gen-list/bin.js +1 -1
- package/dist/esm/bin/gen-list/index.js +1 -1
- package/dist/esm/bin/gen-test/bin.js +1 -1
- package/dist/esm/bin/gen-test/index.js +1 -1
- package/dist/esm/{chunk-B5T7IMMQ.js → chunk-CSZNLNB5.js} +0 -9
- package/dist/esm/chunk-JNJOQH5L.js +17 -0
- package/dist/esm/chunk-QRSNQEUN.js +14 -0
- package/dist/esm/{chunk-G3SHYW4Z.js → chunk-YYOST4AX.js} +0 -9
- package/dist/esm/extend/wrap-json.js +2 -2
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +15 -7
- package/dist/esm/interface/interface-abstract.d.ts +23 -0
- package/dist/esm/interface/interface-abstract.js +7 -0
- package/dist/esm/test/test-abstract.d.ts +15 -0
- package/dist/esm/test/test-abstract.js +7 -0
- package/dist/esm/test/test.d.ts +3 -3
- package/package.json +1 -1
- package/dist/esm/{chunk-ISEUOCLS.js → chunk-AIZ3Q6UU.js} +3 -3
|
@@ -70,15 +70,6 @@ async function main(tsconfigPath, interfaceFolderPath, outFilePath) {
|
|
|
70
70
|
const outputFolderRelativeToProjectRoot = import_node_path.default.relative(import_node_path.default.dirname(outFilePath), \u9879\u76EE\u6839\u8DEF\u5F84).replaceAll("\\", "/");
|
|
71
71
|
const importPath = import_node_path.default.join(outputFolderRelativeToProjectRoot, filenameRelativeToProjectRoot).replaceAll("\\", "/");
|
|
72
72
|
await log.info(`\u5904\u7406\uFF08${i + 1} / ${\u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6\u4EEC.length}\uFF09\uFF1A${filenameRelativeToApiFolder}`);
|
|
73
|
-
for (const node of \u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6.statements) {
|
|
74
|
-
if (import_typescript.default.isExportAssignment(node) && node.isExportEquals === void 0) {
|
|
75
|
-
const expression = node.expression;
|
|
76
|
-
if (import_typescript.default.isNewExpression(expression) && expression.expression.getText() === "\u63A5\u53E3") {
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
throw new Error(`${\u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6.fileName}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u4E0D\u662F \u63A5\u53E3`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
73
|
\u5F15\u5165\u533A.push(`import * as ${importName} from '${importPath}'`);
|
|
83
74
|
\u4EE3\u7801\u533A.push(`${importName}.default`);
|
|
84
75
|
}
|
|
@@ -75,15 +75,6 @@ async function main(tsconfigPath, interfaceFolderPath, outFilePath) {
|
|
|
75
75
|
const outputFolderRelativeToProjectRoot = import_node_path.default.relative(import_node_path.default.dirname(outFilePath), \u9879\u76EE\u6839\u8DEF\u5F84).replaceAll("\\", "/");
|
|
76
76
|
const importPath = import_node_path.default.join(outputFolderRelativeToProjectRoot, filenameRelativeToProjectRoot).replaceAll("\\", "/");
|
|
77
77
|
await log.info(`\u5904\u7406\uFF08${i + 1} / ${\u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6\u4EEC.length}\uFF09\uFF1A${filenameRelativeToApiFolder}`);
|
|
78
|
-
for (const node of \u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6.statements) {
|
|
79
|
-
if (import_typescript.default.isExportAssignment(node) && node.isExportEquals === void 0) {
|
|
80
|
-
const expression = node.expression;
|
|
81
|
-
if (import_typescript.default.isNewExpression(expression) && expression.expression.getText() === "\u63A5\u53E3") {
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
throw new Error(`${\u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6.fileName}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u4E0D\u662F \u63A5\u53E3`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
78
|
\u5F15\u5165\u533A.push(`import * as ${importName} from '${importPath}'`);
|
|
88
79
|
\u4EE3\u7801\u533A.push(`${importName}.default`);
|
|
89
80
|
}
|
|
@@ -78,15 +78,6 @@ async function main(tsconfigPath, interfaceFolderPath, outFilePath, filter) {
|
|
|
78
78
|
const outputFolderRelativeToProjectRoot = import_node_path.default.relative(import_node_path.default.dirname(outFilePath), projectRootPath).replaceAll("\\", "/");
|
|
79
79
|
const importPath = import_node_path.default.join(outputFolderRelativeToProjectRoot, filenameRelativeToProjectRoot).replaceAll("\\", "/");
|
|
80
80
|
await log.info(`\u5904\u7406\uFF08${index + 1} / ${testSourceFilesFilter.length}\uFF09\uFF1A${filenameRelativeToApiFolder}`);
|
|
81
|
-
for (const node of testSourceFile.statements) {
|
|
82
|
-
if (import_typescript.default.isExportAssignment(node) && node.isExportEquals === void 0) {
|
|
83
|
-
const expression = node.expression;
|
|
84
|
-
if (import_typescript.default.isNewExpression(expression) && expression.expression.getText() === "\u6D4B\u8BD5") {
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
throw new Error(`${testSourceFile.fileName}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u4E0D\u662F \u6D4B\u8BD5`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
81
|
importCode.push(`import ${importName} from '${importPath}'`);
|
|
91
82
|
testCode.push(generateTestCode(importName, importName));
|
|
92
83
|
}
|
|
@@ -83,15 +83,6 @@ async function main(tsconfigPath, interfaceFolderPath, outFilePath, filter) {
|
|
|
83
83
|
const outputFolderRelativeToProjectRoot = import_node_path.default.relative(import_node_path.default.dirname(outFilePath), projectRootPath).replaceAll("\\", "/");
|
|
84
84
|
const importPath = import_node_path.default.join(outputFolderRelativeToProjectRoot, filenameRelativeToProjectRoot).replaceAll("\\", "/");
|
|
85
85
|
await log.info(`\u5904\u7406\uFF08${index + 1} / ${testSourceFilesFilter.length}\uFF09\uFF1A${filenameRelativeToApiFolder}`);
|
|
86
|
-
for (const node of testSourceFile.statements) {
|
|
87
|
-
if (import_typescript.default.isExportAssignment(node) && node.isExportEquals === void 0) {
|
|
88
|
-
const expression = node.expression;
|
|
89
|
-
if (import_typescript.default.isNewExpression(expression) && expression.expression.getText() === "\u6D4B\u8BD5") {
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
throw new Error(`${testSourceFile.fileName}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u4E0D\u662F \u6D4B\u8BD5`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
86
|
importCode.push(`import ${importName} from '${importPath}'`);
|
|
96
87
|
testCode.push(generateTestCode(importName, importName));
|
|
97
88
|
}
|
|
@@ -70,15 +70,6 @@ async function main(tsconfigPath, interfaceFolderPath, outFilePath) {
|
|
|
70
70
|
const outputFolderRelativeToProjectRoot = import_node_path.default.relative(import_node_path.default.dirname(outFilePath), \u9879\u76EE\u6839\u8DEF\u5F84).replaceAll("\\", "/");
|
|
71
71
|
const importPath = import_node_path.default.join(outputFolderRelativeToProjectRoot, filenameRelativeToProjectRoot).replaceAll("\\", "/");
|
|
72
72
|
await log.info(`\u5904\u7406\uFF08${i + 1} / ${\u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6\u4EEC.length}\uFF09\uFF1A${filenameRelativeToApiFolder}`);
|
|
73
|
-
for (const node of \u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6.statements) {
|
|
74
|
-
if (import_typescript.default.isExportAssignment(node) && node.isExportEquals === void 0) {
|
|
75
|
-
const expression = node.expression;
|
|
76
|
-
if (import_typescript.default.isNewExpression(expression) && expression.expression.getText() === "\u63A5\u53E3") {
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
throw new Error(`${\u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6.fileName}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u4E0D\u662F \u63A5\u53E3`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
73
|
\u5F15\u5165\u533A.push(`import * as ${importName} from '${importPath}'`);
|
|
83
74
|
\u4EE3\u7801\u533A.push(`${importName}.default`);
|
|
84
75
|
}
|
|
@@ -75,15 +75,6 @@ async function main(tsconfigPath, interfaceFolderPath, outFilePath) {
|
|
|
75
75
|
const outputFolderRelativeToProjectRoot = import_node_path.default.relative(import_node_path.default.dirname(outFilePath), \u9879\u76EE\u6839\u8DEF\u5F84).replaceAll("\\", "/");
|
|
76
76
|
const importPath = import_node_path.default.join(outputFolderRelativeToProjectRoot, filenameRelativeToProjectRoot).replaceAll("\\", "/");
|
|
77
77
|
await log.info(`\u5904\u7406\uFF08${i + 1} / ${\u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6\u4EEC.length}\uFF09\uFF1A${filenameRelativeToApiFolder}`);
|
|
78
|
-
for (const node of \u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6.statements) {
|
|
79
|
-
if (import_typescript.default.isExportAssignment(node) && node.isExportEquals === void 0) {
|
|
80
|
-
const expression = node.expression;
|
|
81
|
-
if (import_typescript.default.isNewExpression(expression) && expression.expression.getText() === "\u63A5\u53E3") {
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
throw new Error(`${\u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6.fileName}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u4E0D\u662F \u63A5\u53E3`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
78
|
\u5F15\u5165\u533A.push(`import * as ${importName} from '${importPath}'`);
|
|
88
79
|
\u4EE3\u7801\u533A.push(`${importName}.default`);
|
|
89
80
|
}
|
|
@@ -78,15 +78,6 @@ async function main(tsconfigPath, interfaceFolderPath, outFilePath, filter) {
|
|
|
78
78
|
const outputFolderRelativeToProjectRoot = import_node_path.default.relative(import_node_path.default.dirname(outFilePath), projectRootPath).replaceAll("\\", "/");
|
|
79
79
|
const importPath = import_node_path.default.join(outputFolderRelativeToProjectRoot, filenameRelativeToProjectRoot).replaceAll("\\", "/");
|
|
80
80
|
await log.info(`\u5904\u7406\uFF08${index + 1} / ${testSourceFilesFilter.length}\uFF09\uFF1A${filenameRelativeToApiFolder}`);
|
|
81
|
-
for (const node of testSourceFile.statements) {
|
|
82
|
-
if (import_typescript.default.isExportAssignment(node) && node.isExportEquals === void 0) {
|
|
83
|
-
const expression = node.expression;
|
|
84
|
-
if (import_typescript.default.isNewExpression(expression) && expression.expression.getText() === "\u6D4B\u8BD5") {
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
throw new Error(`${testSourceFile.fileName}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u4E0D\u662F \u6D4B\u8BD5`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
81
|
importCode.push(`import ${importName} from '${importPath}'`);
|
|
91
82
|
testCode.push(generateTestCode(importName, importName));
|
|
92
83
|
}
|
|
@@ -83,15 +83,6 @@ async function main(tsconfigPath, interfaceFolderPath, outFilePath, filter) {
|
|
|
83
83
|
const outputFolderRelativeToProjectRoot = import_node_path.default.relative(import_node_path.default.dirname(outFilePath), projectRootPath).replaceAll("\\", "/");
|
|
84
84
|
const importPath = import_node_path.default.join(outputFolderRelativeToProjectRoot, filenameRelativeToProjectRoot).replaceAll("\\", "/");
|
|
85
85
|
await log.info(`\u5904\u7406\uFF08${index + 1} / ${testSourceFilesFilter.length}\uFF09\uFF1A${filenameRelativeToApiFolder}`);
|
|
86
|
-
for (const node of testSourceFile.statements) {
|
|
87
|
-
if (import_typescript.default.isExportAssignment(node) && node.isExportEquals === void 0) {
|
|
88
|
-
const expression = node.expression;
|
|
89
|
-
if (import_typescript.default.isNewExpression(expression) && expression.expression.getText() === "\u6D4B\u8BD5") {
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
throw new Error(`${testSourceFile.fileName}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u4E0D\u662F \u6D4B\u8BD5`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
86
|
importCode.push(`import ${importName} from '${importPath}'`);
|
|
96
87
|
testCode.push(generateTestCode(importName, importName));
|
|
97
88
|
}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -36,6 +36,7 @@ __export(src_exports, {
|
|
|
36
36
|
\u5305\u88C5\u7684\u6B63\u786EJSON\u7ED3\u679C: () => \u5305\u88C5\u7684\u6B63\u786EJSON\u7ED3\u679C,
|
|
37
37
|
\u5305\u88C5\u7684\u9519\u8BEFJSON\u7ED3\u679C: () => \u5305\u88C5\u7684\u9519\u8BEFJSON\u7ED3\u679C,
|
|
38
38
|
\u63A5\u53E3: () => \u63A5\u53E3,
|
|
39
|
+
\u63A5\u53E3\u62BD\u8C61\u7C7B: () => \u63A5\u53E3\u62BD\u8C61\u7C7B,
|
|
39
40
|
\u63A5\u53E3\u7C7B\u578B: () => \u63A5\u53E3\u7C7B\u578B,
|
|
40
41
|
\u63D2\u4EF6: () => \u63D2\u4EF6,
|
|
41
42
|
\u670D\u52A1\u5668: () => \u670D\u52A1\u5668,
|
|
@@ -43,6 +44,7 @@ __export(src_exports, {
|
|
|
43
44
|
\u6B63\u786E\u7ED3\u679C: () => \u6B63\u786E\u7ED3\u679C,
|
|
44
45
|
\u6B63\u786E\u81EA\u5B9A\u4E49\u7ED3\u679C: () => \u6B63\u786E\u81EA\u5B9A\u4E49\u7ED3\u679C,
|
|
45
46
|
\u6D4B\u8BD5: () => \u6D4B\u8BD5,
|
|
47
|
+
\u6D4B\u8BD5\u62BD\u8C61\u7C7B: () => \u6D4B\u8BD5\u62BD\u8C61\u7C7B,
|
|
46
48
|
\u7ED3\u679C: () => \u7ED3\u679C,
|
|
47
49
|
\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6: () => \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
|
|
48
50
|
\u8868\u5355\u89E3\u6790\u63D2\u4EF6: () => \u8868\u5355\u89E3\u6790\u63D2\u4EF6,
|
|
@@ -175,6 +177,16 @@ var \u63A5\u53E3 = class {
|
|
|
175
177
|
}
|
|
176
178
|
};
|
|
177
179
|
|
|
180
|
+
// src/interface/interface-abstract.ts
|
|
181
|
+
var \u63A5\u53E3\u62BD\u8C61\u7C7B = class extends \u63A5\u53E3 {
|
|
182
|
+
constructor() {
|
|
183
|
+
super(null, null);
|
|
184
|
+
}
|
|
185
|
+
\u83B7\u5F97\u5B9E\u73B0() {
|
|
186
|
+
return this.\u8C03\u7528;
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
|
|
178
190
|
// src/interface/plug.ts
|
|
179
191
|
var \u63D2\u4EF6 = class {
|
|
180
192
|
constructor(\u7C7B\u578B, \u5B9E\u73B0) {
|
|
@@ -342,6 +354,13 @@ var \u6D4B\u8BD5 = class {
|
|
|
342
354
|
await this.\u540E\u7F6E(\u4E2D\u7F6E\u7ED3\u679C);
|
|
343
355
|
}
|
|
344
356
|
};
|
|
357
|
+
|
|
358
|
+
// src/test/test-abstract.ts
|
|
359
|
+
var \u6D4B\u8BD5\u62BD\u8C61\u7C7B = class extends \u6D4B\u8BD5 {
|
|
360
|
+
constructor() {
|
|
361
|
+
super(null, null, null, null);
|
|
362
|
+
}
|
|
363
|
+
};
|
|
345
364
|
// Annotate the CommonJS export names for ESM import in node:
|
|
346
365
|
0 && (module.exports = {
|
|
347
366
|
JSON\u89E3\u6790\u63D2\u4EF6,
|
|
@@ -350,6 +369,7 @@ var \u6D4B\u8BD5 = class {
|
|
|
350
369
|
\u5305\u88C5\u7684\u6B63\u786EJSON\u7ED3\u679C,
|
|
351
370
|
\u5305\u88C5\u7684\u9519\u8BEFJSON\u7ED3\u679C,
|
|
352
371
|
\u63A5\u53E3,
|
|
372
|
+
\u63A5\u53E3\u62BD\u8C61\u7C7B,
|
|
353
373
|
\u63A5\u53E3\u7C7B\u578B,
|
|
354
374
|
\u63D2\u4EF6,
|
|
355
375
|
\u670D\u52A1\u5668,
|
|
@@ -357,6 +377,7 @@ var \u6D4B\u8BD5 = class {
|
|
|
357
377
|
\u6B63\u786E\u7ED3\u679C,
|
|
358
378
|
\u6B63\u786E\u81EA\u5B9A\u4E49\u7ED3\u679C,
|
|
359
379
|
\u6D4B\u8BD5,
|
|
380
|
+
\u6D4B\u8BD5\u62BD\u8C61\u7C7B,
|
|
360
381
|
\u7ED3\u679C,
|
|
361
382
|
\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
|
|
362
383
|
\u8868\u5355\u89E3\u6790\u63D2\u4EF6,
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { 包装的接口类型, 包装的正确JSON结果, 包装的错误JSON结果 } from './extend/wrap-json.cjs';
|
|
2
2
|
export { 任意接口, 接口 } from './interface/interface.cjs';
|
|
3
3
|
export { 任意接口类型, 接口类型, 获得接口插件们 } from './interface/interface-type.cjs';
|
|
4
|
+
export { 接口抽象类, 计算实现参数, 计算实现结果 } from './interface/interface-abstract.cjs';
|
|
4
5
|
export { 任意插件, 包装插件项, 取插件内部类型, 合并插件结果, 插件, 插件项类型 } from './interface/plug.cjs';
|
|
5
6
|
export { 中文路径支持插件 } from './plugin/chinese-path.cjs';
|
|
6
7
|
export { 自定义数据插件 } from './plugin/custom-data.cjs';
|
|
@@ -9,6 +10,7 @@ export { 表单解析插件 } from './plugin/urlencoded.cjs';
|
|
|
9
10
|
export { 正确JSON结果, 正确结果, 正确自定义结果, 结果, 错误JSON结果, 错误结果 } from './result/result.cjs';
|
|
10
11
|
export { 服务器 } from './server/server.cjs';
|
|
11
12
|
export { 测试 } from './test/test.cjs';
|
|
13
|
+
export { 测试抽象类 } from './test/test-abstract.cjs';
|
|
12
14
|
import 'zod';
|
|
13
15
|
import 'express';
|
|
14
16
|
import '@lsby/ts-fp-data';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/interface/interface-abstract.ts
|
|
21
|
+
var interface_abstract_exports = {};
|
|
22
|
+
__export(interface_abstract_exports, {
|
|
23
|
+
\u63A5\u53E3\u62BD\u8C61\u7C7B: () => \u63A5\u53E3\u62BD\u8C61\u7C7B
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(interface_abstract_exports);
|
|
26
|
+
|
|
27
|
+
// src/interface/interface.ts
|
|
28
|
+
var \u63A5\u53E3 = class {
|
|
29
|
+
constructor(\u63A5\u53E3\u7C7B\u578B, \u5B9E\u73B0) {
|
|
30
|
+
this.\u63A5\u53E3\u7C7B\u578B = \u63A5\u53E3\u7C7B\u578B;
|
|
31
|
+
this.\u5B9E\u73B0 = \u5B9E\u73B0;
|
|
32
|
+
}
|
|
33
|
+
\u83B7\u5F97\u7C7B\u578B() {
|
|
34
|
+
return this.\u63A5\u53E3\u7C7B\u578B;
|
|
35
|
+
}
|
|
36
|
+
\u83B7\u5F97\u5B9E\u73B0() {
|
|
37
|
+
return this.\u5B9E\u73B0;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// src/interface/interface-abstract.ts
|
|
42
|
+
var \u63A5\u53E3\u62BD\u8C61\u7C7B = class extends \u63A5\u53E3 {
|
|
43
|
+
constructor() {
|
|
44
|
+
super(null, null);
|
|
45
|
+
}
|
|
46
|
+
\u83B7\u5F97\u5B9E\u73B0() {
|
|
47
|
+
return this.\u8C03\u7528;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
51
|
+
0 && (module.exports = {
|
|
52
|
+
\u63A5\u53E3\u62BD\u8C61\u7C7B
|
|
53
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { 正确结果 as ____, 错误结果 as ____$1 } from '../result/result.cjs';
|
|
3
|
+
import { 接口 as __ } from './interface.cjs';
|
|
4
|
+
import { 接口类型 as ____$2 } from './interface-type.cjs';
|
|
5
|
+
import { 合并插件结果 as ______ } from './plug.cjs';
|
|
6
|
+
import 'express';
|
|
7
|
+
import '@lsby/ts-fp-data';
|
|
8
|
+
|
|
9
|
+
type F1<A> = A extends ____$2<infer A1, infer _A2, infer _A3, infer _A4, infer _A5> ? A1 : never;
|
|
10
|
+
type F2<A> = A extends ____$2<infer _A1, infer A2, infer _A3, infer _A4, infer _A5> ? A2 : never;
|
|
11
|
+
type F3<A> = A extends ____$2<infer _A1, infer _A2, infer A3, infer _A4, infer _A5> ? A3 : never;
|
|
12
|
+
type F4<A> = A extends ____$2<infer _A1, infer _A2, infer _A3, infer A4, infer _A5> ? A4 : never;
|
|
13
|
+
type F5<A> = A extends ____$2<infer _A1, infer _A2, infer _A3, infer _A4, infer A5> ? A5 : never;
|
|
14
|
+
type 计算实现参数<接口类型定义> = ______<F3<接口类型定义>>;
|
|
15
|
+
type 计算实现结果<接口类型定义> = Promise<____<z.infer<F4<接口类型定义>>> | ____$1<z.infer<F5<接口类型定义>>>>;
|
|
16
|
+
declare abstract class 接口抽象类<接口类型描述 extends ____$2<any, any, any, any, any>> extends __<F1<接口类型描述>, F2<接口类型描述>, F3<接口类型描述>, F4<接口类型描述>, F5<接口类型描述>> {
|
|
17
|
+
constructor();
|
|
18
|
+
abstract 获得类型(): 接口类型描述;
|
|
19
|
+
获得实现(): (ctx: object) => Promise<____<z.infer<F4<接口类型描述>>> | ____$1<z.infer<F5<接口类型描述>>>>;
|
|
20
|
+
abstract 调用(ctx: ______<F3<接口类型描述>>): Promise<____<z.infer<F4<接口类型描述>>> | ____$1<z.infer<F5<接口类型描述>>>>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { 接口抽象类, type 计算实现参数, type 计算实现结果 };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/test/test-abstract.ts
|
|
21
|
+
var test_abstract_exports = {};
|
|
22
|
+
__export(test_abstract_exports, {
|
|
23
|
+
\u6D4B\u8BD5\u62BD\u8C61\u7C7B: () => \u6D4B\u8BD5\u62BD\u8C61\u7C7B
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(test_abstract_exports);
|
|
26
|
+
|
|
27
|
+
// src/test/test.ts
|
|
28
|
+
var \u6D4B\u8BD5 = class {
|
|
29
|
+
constructor(\u63A5\u53E3\u7C7B\u578B, \u524D\u7F6E, \u4E2D\u7F6E, \u540E\u7F6E) {
|
|
30
|
+
this.\u63A5\u53E3\u7C7B\u578B = \u63A5\u53E3\u7C7B\u578B;
|
|
31
|
+
this.\u524D\u7F6E = \u524D\u7F6E;
|
|
32
|
+
this.\u4E2D\u7F6E = \u4E2D\u7F6E;
|
|
33
|
+
this.\u540E\u7F6E = \u540E\u7F6E;
|
|
34
|
+
}
|
|
35
|
+
async \u8FD0\u884C() {
|
|
36
|
+
await this.\u524D\u7F6E();
|
|
37
|
+
var \u4E2D\u7F6E\u7ED3\u679C = await this.\u4E2D\u7F6E();
|
|
38
|
+
await this.\u540E\u7F6E(\u4E2D\u7F6E\u7ED3\u679C);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// src/test/test-abstract.ts
|
|
43
|
+
var \u6D4B\u8BD5\u62BD\u8C61\u7C7B = class extends \u6D4B\u8BD5 {
|
|
44
|
+
constructor() {
|
|
45
|
+
super(null, null, null, null);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
+
0 && (module.exports = {
|
|
50
|
+
\u6D4B\u8BD5\u62BD\u8C61\u7C7B
|
|
51
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { 测试 as __ } from './test.cjs';
|
|
2
|
+
import '../interface/interface-type.cjs';
|
|
3
|
+
import 'zod';
|
|
4
|
+
import '../interface/plug.cjs';
|
|
5
|
+
import 'express';
|
|
6
|
+
import '@lsby/ts-fp-data';
|
|
7
|
+
|
|
8
|
+
declare abstract class 测试抽象类 extends __ {
|
|
9
|
+
abstract 前置: () => Promise<void>;
|
|
10
|
+
abstract 中置: () => Promise<object>;
|
|
11
|
+
abstract 后置: (中置结果: object) => Promise<void>;
|
|
12
|
+
constructor();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { 测试抽象类 };
|
package/dist/cjs/test/test.d.cts
CHANGED
|
@@ -6,9 +6,9 @@ import '@lsby/ts-fp-data';
|
|
|
6
6
|
|
|
7
7
|
declare class 测试 {
|
|
8
8
|
private 接口类型;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
protected 前置: () => Promise<void>;
|
|
10
|
+
protected 中置: () => Promise<object>;
|
|
11
|
+
protected 后置: (中置结果: object) => Promise<void>;
|
|
12
12
|
constructor(接口类型: ______, 前置: () => Promise<void>, 中置: () => Promise<object>, 后置: (中置结果: object) => Promise<void>);
|
|
13
13
|
运行(): Promise<void>;
|
|
14
14
|
}
|
|
@@ -49,15 +49,6 @@ async function main(tsconfigPath, interfaceFolderPath, outFilePath, filter) {
|
|
|
49
49
|
const outputFolderRelativeToProjectRoot = path.relative(path.dirname(outFilePath), projectRootPath).replaceAll("\\", "/");
|
|
50
50
|
const importPath = path.join(outputFolderRelativeToProjectRoot, filenameRelativeToProjectRoot).replaceAll("\\", "/");
|
|
51
51
|
await log.info(`\u5904\u7406\uFF08${index + 1} / ${testSourceFilesFilter.length}\uFF09\uFF1A${filenameRelativeToApiFolder}`);
|
|
52
|
-
for (const node of testSourceFile.statements) {
|
|
53
|
-
if (ts.isExportAssignment(node) && node.isExportEquals === void 0) {
|
|
54
|
-
const expression = node.expression;
|
|
55
|
-
if (ts.isNewExpression(expression) && expression.expression.getText() === "\u6D4B\u8BD5") {
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
throw new Error(`${testSourceFile.fileName}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u4E0D\u662F \u6D4B\u8BD5`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
52
|
importCode.push(`import ${importName} from '${importPath}'`);
|
|
62
53
|
testCode.push(generateTestCode(importName, importName));
|
|
63
54
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {
|
|
2
|
+
接口
|
|
3
|
+
} from "./chunk-KRIDSMPV.js";
|
|
4
|
+
|
|
5
|
+
// src/interface/interface-abstract.ts
|
|
6
|
+
var \u63A5\u53E3\u62BD\u8C61\u7C7B = class extends \u63A5\u53E3 {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(null, null);
|
|
9
|
+
}
|
|
10
|
+
\u83B7\u5F97\u5B9E\u73B0() {
|
|
11
|
+
return this.\u8C03\u7528;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
接口抽象类
|
|
17
|
+
};
|
|
@@ -41,15 +41,6 @@ async function main(tsconfigPath, interfaceFolderPath, outFilePath) {
|
|
|
41
41
|
const outputFolderRelativeToProjectRoot = path.relative(path.dirname(outFilePath), \u9879\u76EE\u6839\u8DEF\u5F84).replaceAll("\\", "/");
|
|
42
42
|
const importPath = path.join(outputFolderRelativeToProjectRoot, filenameRelativeToProjectRoot).replaceAll("\\", "/");
|
|
43
43
|
await log.info(`\u5904\u7406\uFF08${i + 1} / ${\u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6\u4EEC.length}\uFF09\uFF1A${filenameRelativeToApiFolder}`);
|
|
44
|
-
for (const node of \u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6.statements) {
|
|
45
|
-
if (ts.isExportAssignment(node) && node.isExportEquals === void 0) {
|
|
46
|
-
const expression = node.expression;
|
|
47
|
-
if (ts.isNewExpression(expression) && expression.expression.getText() === "\u63A5\u53E3") {
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
throw new Error(`${\u63A5\u53E3\u5B9E\u73B0\u6587\u4EF6.fileName}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u4E0D\u662F \u63A5\u53E3`);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
44
|
\u5F15\u5165\u533A.push(`import * as ${importName} from '${importPath}'`);
|
|
54
45
|
\u4EE3\u7801\u533A.push(`${importName}.default`);
|
|
55
46
|
}
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
包装的接口类型,
|
|
3
3
|
包装的正确JSON结果,
|
|
4
4
|
包装的错误JSON结果
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-SF5Z34AP.js";
|
|
5
|
+
} from "../chunk-AIZ3Q6UU.js";
|
|
7
6
|
import "../chunk-IPDMEQ3O.js";
|
|
8
7
|
import "../chunk-AHCV3LQ7.js";
|
|
8
|
+
import "../chunk-SF5Z34AP.js";
|
|
9
9
|
export {
|
|
10
10
|
\u5305\u88C5\u7684\u63A5\u53E3\u7C7B\u578B,
|
|
11
11
|
\u5305\u88C5\u7684\u6B63\u786EJSON\u7ED3\u679C,
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { 包装的接口类型, 包装的正确JSON结果, 包装的错误JSON结果 } from './extend/wrap-json.js';
|
|
2
2
|
export { 任意接口, 接口 } from './interface/interface.js';
|
|
3
3
|
export { 任意接口类型, 接口类型, 获得接口插件们 } from './interface/interface-type.js';
|
|
4
|
+
export { 接口抽象类, 计算实现参数, 计算实现结果 } from './interface/interface-abstract.js';
|
|
4
5
|
export { 任意插件, 包装插件项, 取插件内部类型, 合并插件结果, 插件, 插件项类型 } from './interface/plug.js';
|
|
5
6
|
export { 中文路径支持插件 } from './plugin/chinese-path.js';
|
|
6
7
|
export { 自定义数据插件 } from './plugin/custom-data.js';
|
|
@@ -9,6 +10,7 @@ export { 表单解析插件 } from './plugin/urlencoded.js';
|
|
|
9
10
|
export { 正确JSON结果, 正确结果, 正确自定义结果, 结果, 错误JSON结果, 错误结果 } from './result/result.js';
|
|
10
11
|
export { 服务器 } from './server/server.js';
|
|
11
12
|
export { 测试 } from './test/test.js';
|
|
13
|
+
export { 测试抽象类 } from './test/test-abstract.js';
|
|
12
14
|
import 'zod';
|
|
13
15
|
import 'express';
|
|
14
16
|
import '@lsby/ts-fp-data';
|
package/dist/esm/index.js
CHANGED
|
@@ -10,6 +10,9 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
服务器
|
|
12
12
|
} from "./chunk-7W4HTEQ6.js";
|
|
13
|
+
import {
|
|
14
|
+
测试抽象类
|
|
15
|
+
} from "./chunk-QRSNQEUN.js";
|
|
13
16
|
import {
|
|
14
17
|
测试
|
|
15
18
|
} from "./chunk-I4WZG5LK.js";
|
|
@@ -17,13 +20,7 @@ import {
|
|
|
17
20
|
包装的接口类型,
|
|
18
21
|
包装的正确JSON结果,
|
|
19
22
|
包装的错误JSON结果
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import {
|
|
22
|
-
接口类型
|
|
23
|
-
} from "./chunk-SF5Z34AP.js";
|
|
24
|
-
import {
|
|
25
|
-
接口
|
|
26
|
-
} from "./chunk-KRIDSMPV.js";
|
|
23
|
+
} from "./chunk-AIZ3Q6UU.js";
|
|
27
24
|
import {
|
|
28
25
|
正确JSON结果,
|
|
29
26
|
正确结果,
|
|
@@ -33,6 +30,15 @@ import {
|
|
|
33
30
|
错误结果
|
|
34
31
|
} from "./chunk-IPDMEQ3O.js";
|
|
35
32
|
import "./chunk-AHCV3LQ7.js";
|
|
33
|
+
import {
|
|
34
|
+
接口抽象类
|
|
35
|
+
} from "./chunk-JNJOQH5L.js";
|
|
36
|
+
import {
|
|
37
|
+
接口类型
|
|
38
|
+
} from "./chunk-SF5Z34AP.js";
|
|
39
|
+
import {
|
|
40
|
+
接口
|
|
41
|
+
} from "./chunk-KRIDSMPV.js";
|
|
36
42
|
import {
|
|
37
43
|
中文路径支持插件
|
|
38
44
|
} from "./chunk-XG4VZZOX.js";
|
|
@@ -46,6 +52,7 @@ export {
|
|
|
46
52
|
\u5305\u88C5\u7684\u6B63\u786EJSON\u7ED3\u679C,
|
|
47
53
|
\u5305\u88C5\u7684\u9519\u8BEFJSON\u7ED3\u679C,
|
|
48
54
|
\u63A5\u53E3,
|
|
55
|
+
\u63A5\u53E3\u62BD\u8C61\u7C7B,
|
|
49
56
|
\u63A5\u53E3\u7C7B\u578B,
|
|
50
57
|
\u63D2\u4EF6,
|
|
51
58
|
\u670D\u52A1\u5668,
|
|
@@ -53,6 +60,7 @@ export {
|
|
|
53
60
|
\u6B63\u786E\u7ED3\u679C,
|
|
54
61
|
\u6B63\u786E\u81EA\u5B9A\u4E49\u7ED3\u679C,
|
|
55
62
|
\u6D4B\u8BD5,
|
|
63
|
+
\u6D4B\u8BD5\u62BD\u8C61\u7C7B,
|
|
56
64
|
\u7ED3\u679C,
|
|
57
65
|
\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
|
|
58
66
|
\u8868\u5355\u89E3\u6790\u63D2\u4EF6,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { 正确结果 as ____, 错误结果 as ____$1 } from '../result/result.js';
|
|
3
|
+
import { 接口 as __ } from './interface.js';
|
|
4
|
+
import { 接口类型 as ____$2 } from './interface-type.js';
|
|
5
|
+
import { 合并插件结果 as ______ } from './plug.js';
|
|
6
|
+
import 'express';
|
|
7
|
+
import '@lsby/ts-fp-data';
|
|
8
|
+
|
|
9
|
+
type F1<A> = A extends ____$2<infer A1, infer _A2, infer _A3, infer _A4, infer _A5> ? A1 : never;
|
|
10
|
+
type F2<A> = A extends ____$2<infer _A1, infer A2, infer _A3, infer _A4, infer _A5> ? A2 : never;
|
|
11
|
+
type F3<A> = A extends ____$2<infer _A1, infer _A2, infer A3, infer _A4, infer _A5> ? A3 : never;
|
|
12
|
+
type F4<A> = A extends ____$2<infer _A1, infer _A2, infer _A3, infer A4, infer _A5> ? A4 : never;
|
|
13
|
+
type F5<A> = A extends ____$2<infer _A1, infer _A2, infer _A3, infer _A4, infer A5> ? A5 : never;
|
|
14
|
+
type 计算实现参数<接口类型定义> = ______<F3<接口类型定义>>;
|
|
15
|
+
type 计算实现结果<接口类型定义> = Promise<____<z.infer<F4<接口类型定义>>> | ____$1<z.infer<F5<接口类型定义>>>>;
|
|
16
|
+
declare abstract class 接口抽象类<接口类型描述 extends ____$2<any, any, any, any, any>> extends __<F1<接口类型描述>, F2<接口类型描述>, F3<接口类型描述>, F4<接口类型描述>, F5<接口类型描述>> {
|
|
17
|
+
constructor();
|
|
18
|
+
abstract 获得类型(): 接口类型描述;
|
|
19
|
+
获得实现(): (ctx: object) => Promise<____<z.infer<F4<接口类型描述>>> | ____$1<z.infer<F5<接口类型描述>>>>;
|
|
20
|
+
abstract 调用(ctx: ______<F3<接口类型描述>>): Promise<____<z.infer<F4<接口类型描述>>> | ____$1<z.infer<F5<接口类型描述>>>>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { 接口抽象类, type 计算实现参数, type 计算实现结果 };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { 测试 as __ } from './test.js';
|
|
2
|
+
import '../interface/interface-type.js';
|
|
3
|
+
import 'zod';
|
|
4
|
+
import '../interface/plug.js';
|
|
5
|
+
import 'express';
|
|
6
|
+
import '@lsby/ts-fp-data';
|
|
7
|
+
|
|
8
|
+
declare abstract class 测试抽象类 extends __ {
|
|
9
|
+
abstract 前置: () => Promise<void>;
|
|
10
|
+
abstract 中置: () => Promise<object>;
|
|
11
|
+
abstract 后置: (中置结果: object) => Promise<void>;
|
|
12
|
+
constructor();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { 测试抽象类 };
|
package/dist/esm/test/test.d.ts
CHANGED
|
@@ -6,9 +6,9 @@ import '@lsby/ts-fp-data';
|
|
|
6
6
|
|
|
7
7
|
declare class 测试 {
|
|
8
8
|
private 接口类型;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
protected 前置: () => Promise<void>;
|
|
10
|
+
protected 中置: () => Promise<object>;
|
|
11
|
+
protected 后置: (中置结果: object) => Promise<void>;
|
|
12
12
|
constructor(接口类型: ______, 前置: () => Promise<void>, 中置: () => Promise<object>, 后置: (中置结果: object) => Promise<void>);
|
|
13
13
|
运行(): Promise<void>;
|
|
14
14
|
}
|
package/package.json
CHANGED