wormajs 0.2.3 → 0.2.5
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/renderer.js +8 -2
- package/dist/core/WorkerPool.js +5 -3
- package/dist/core/loader/astLoader/index.js +1 -3
- package/dist/core/loader/astLoader/normalize/normalizer.js +1 -3
- package/dist/core/loader/callingCodeLoader/index.js +1 -3
- package/dist/core/loader/schemaLoader/index.js +1 -3
- package/dist/core/loader/standardLoader/index.js +1 -3
- package/dist/core/parser/openApiParser/index.js +1 -3
- package/dist/core/parser/templateParser/index.js +10 -10
- package/dist/core/workerPool/poolManager.js +3 -3
- package/dist/helper/PluginDriver.js +2 -0
- package/dist/helper/comment.js +18 -20
- package/dist/helper/config/ConfigHelper.js +2 -3
- package/dist/helper/config/ConfigManager.js +6 -4
- package/dist/helper/config/GeneratorHelper.js +15 -13
- package/dist/helper/document/index.js +2 -3
- package/dist/helper/logger/index.js +5 -7
- package/dist/helper/progress.js +5 -3
- package/dist/helper/template/index.js +4 -2
- package/dist/template/presets/alova/partials/dts-fn-declare.handlebars +1 -1
- package/dist/template/presets/alova/typescript/services/{tag}.ts.handlebars +1 -1
- package/dist/template/presets/axios/partials/dts-fn-declare.handlebars +1 -1
- package/dist/template/presets/axios/typescript/services/{tag}.ts.handlebars +2 -2
- package/dist/template/presets/fetch/partials/dts-fn-declare.handlebars +1 -1
- package/dist/template/presets/fetch/typescript/services/{tag}.ts.handlebars +1 -1
- package/dist/template/presets/ky/partials/dts-fn-declare.handlebars +1 -1
- package/dist/template/presets/ky/typescript/services/{tag}.ts.handlebars +1 -1
- package/dist/utils/openapi.js +6 -6
- package/package.json +2 -2
- package/dist/tsconfig.build.tsbuildinfo +0 -1
package/dist/bin/renderer.js
CHANGED
|
@@ -52,8 +52,11 @@ function sep() {
|
|
|
52
52
|
* ──────────────────────────────────────────
|
|
53
53
|
*/
|
|
54
54
|
class MultiGeneratorRenderer {
|
|
55
|
+
states;
|
|
56
|
+
version;
|
|
57
|
+
startTime;
|
|
58
|
+
logUpdateInstance = null;
|
|
55
59
|
constructor(generators, version, configPath) {
|
|
56
|
-
this.logUpdateInstance = null;
|
|
57
60
|
this.states = generators.map((g, i) => ({
|
|
58
61
|
index: i,
|
|
59
62
|
input: Array.isArray(g.input) ? (g.input[0] || '') : (g.input || ''),
|
|
@@ -242,8 +245,10 @@ exports.MultiGeneratorRenderer = MultiGeneratorRenderer;
|
|
|
242
245
|
* ──────────────────────────────────────────
|
|
243
246
|
*/
|
|
244
247
|
class MultiProjectRenderer {
|
|
248
|
+
projects;
|
|
249
|
+
version;
|
|
250
|
+
logUpdateInstance = null;
|
|
245
251
|
constructor(projects, version) {
|
|
246
|
-
this.logUpdateInstance = null;
|
|
247
252
|
this.projects = projects.map(info => ({
|
|
248
253
|
info,
|
|
249
254
|
states: info.generators.map((g, i) => ({
|
|
@@ -503,6 +508,7 @@ exports.INIT_TEMPLATE_CHOICES = [
|
|
|
503
508
|
* worma gen
|
|
504
509
|
*/
|
|
505
510
|
class InitRenderer {
|
|
511
|
+
version;
|
|
506
512
|
constructor(version) {
|
|
507
513
|
this.version = version;
|
|
508
514
|
}
|
package/dist/core/WorkerPool.js
CHANGED
|
@@ -22,11 +22,13 @@ function pickPoolSize(apiCount) {
|
|
|
22
22
|
return Math.max(2, cpu - 1);
|
|
23
23
|
}
|
|
24
24
|
class WorkerPool {
|
|
25
|
+
options;
|
|
26
|
+
workers = [];
|
|
27
|
+
idleTimer = null;
|
|
28
|
+
idleTimeout;
|
|
29
|
+
terminated = false;
|
|
25
30
|
constructor(options) {
|
|
26
31
|
this.options = options;
|
|
27
|
-
this.workers = [];
|
|
28
|
-
this.idleTimer = null;
|
|
29
|
-
this.terminated = false;
|
|
30
32
|
this.idleTimeout = options.idleTimeout ?? 30000;
|
|
31
33
|
}
|
|
32
34
|
get size() {
|
|
@@ -4,9 +4,7 @@ exports.astLoader = exports.AstLoader = void 0;
|
|
|
4
4
|
const generates_1 = require("./generates");
|
|
5
5
|
const helper_1 = require("./helper");
|
|
6
6
|
class AstLoader {
|
|
7
|
-
|
|
8
|
-
this.name = 'astLoader';
|
|
9
|
-
}
|
|
7
|
+
name = 'astLoader';
|
|
10
8
|
async transform(ast, options) {
|
|
11
9
|
return (0, helper_1.transformAST)(ast, options);
|
|
12
10
|
}
|
|
@@ -4,9 +4,7 @@ exports.callingCodeLoader = exports.CallingCodeLoader = void 0;
|
|
|
4
4
|
const utils_1 = require("../../../utils");
|
|
5
5
|
const helper_1 = require("./helper");
|
|
6
6
|
class CallingCodeLoader {
|
|
7
|
-
|
|
8
|
-
this.name = 'callingCodeLoader';
|
|
9
|
-
}
|
|
7
|
+
name = 'callingCodeLoader';
|
|
10
8
|
transform(input, options) {
|
|
11
9
|
if (options?.format) {
|
|
12
10
|
return (0, helper_1.generateDefaultValuesFormat)(input);
|
|
@@ -16,9 +16,7 @@ const parsers_1 = require("../astLoader/parsers");
|
|
|
16
16
|
*/
|
|
17
17
|
const normalizeCache = new WeakMap();
|
|
18
18
|
class SchemaLoader {
|
|
19
|
-
|
|
20
|
-
this.name = 'schemaLoader';
|
|
21
|
-
}
|
|
19
|
+
name = 'schemaLoader';
|
|
22
20
|
/** Normalize schema once, with WeakMap caching for repeated identical objects. */
|
|
23
21
|
normalizeSchema(schemaOrigin) {
|
|
24
22
|
const key = schemaOrigin;
|
|
@@ -4,9 +4,7 @@ exports.standardLoader = exports.StandardLoader = void 0;
|
|
|
4
4
|
const helper_1 = require("./helper");
|
|
5
5
|
const standards_1 = require("./standards");
|
|
6
6
|
class StandardLoader {
|
|
7
|
-
|
|
8
|
-
this.name = 'standardLoader';
|
|
9
|
-
}
|
|
7
|
+
name = 'standardLoader';
|
|
10
8
|
transform(input, options) {
|
|
11
9
|
return (0, helper_1.makeIdentifier)(input, options?.style ?? 'camelCase');
|
|
12
10
|
}
|
|
@@ -3,9 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.openApiParser = exports.OpenApiParser = void 0;
|
|
4
4
|
const helper_1 = require("./helper");
|
|
5
5
|
class OpenApiParser {
|
|
6
|
-
|
|
7
|
-
this.name = 'openapiParser';
|
|
8
|
-
}
|
|
6
|
+
name = 'openapiParser';
|
|
9
7
|
async parse(input, options) {
|
|
10
8
|
return (0, helper_1.getOpenApiData)(input, options);
|
|
11
9
|
}
|
|
@@ -66,16 +66,16 @@ function autoConcurrency() {
|
|
|
66
66
|
return Math.min(64, Math.max(8, cpuCount * 4));
|
|
67
67
|
}
|
|
68
68
|
class TemplateParser {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
69
|
+
name = 'templateParser';
|
|
70
|
+
schemasMap = new Map();
|
|
71
|
+
operationIdSet = new Set();
|
|
72
|
+
pathMap = [];
|
|
73
|
+
refNameMap = new Map();
|
|
74
|
+
/** M1-A4: 用 Map 索引替代 tagedApis.find() 线性查找,O(n·t) → O(n+t) */
|
|
75
|
+
tagMap = new Map();
|
|
76
|
+
document;
|
|
77
|
+
options;
|
|
78
|
+
openApiHelper = new document_1.OpenApiHelper();
|
|
79
79
|
async parse(document, options) {
|
|
80
80
|
this.document = document;
|
|
81
81
|
this.options = options;
|
|
@@ -8,15 +8,15 @@ exports.PoolManager = void 0;
|
|
|
8
8
|
*/
|
|
9
9
|
const WorkerPool_1 = require("../../core/WorkerPool");
|
|
10
10
|
class PoolManager {
|
|
11
|
+
static instance;
|
|
12
|
+
pools = new Map();
|
|
11
13
|
static getInstance() {
|
|
12
14
|
if (!PoolManager.instance) {
|
|
13
15
|
PoolManager.instance = new PoolManager();
|
|
14
16
|
}
|
|
15
17
|
return PoolManager.instance;
|
|
16
18
|
}
|
|
17
|
-
constructor() {
|
|
18
|
-
this.pools = new Map();
|
|
19
|
-
}
|
|
19
|
+
constructor() { }
|
|
20
20
|
get(options) {
|
|
21
21
|
const { key, workerScript, sharedContext, poolSize, idleTimeout } = options;
|
|
22
22
|
let pool = this.pools.get(key);
|
|
@@ -12,6 +12,8 @@ const CTX = Object.freeze({});
|
|
|
12
12
|
* - Provides three execution strategies: parallelEach, seqEach (chaining), pipe (content transform).
|
|
13
13
|
*/
|
|
14
14
|
class PluginDriver {
|
|
15
|
+
plugins;
|
|
16
|
+
reporter;
|
|
15
17
|
constructor(plugins = [], opts) {
|
|
16
18
|
this.plugins = plugins.filter(Boolean);
|
|
17
19
|
this.reporter = opts?.reporter ?? (() => progress_1.noopReportProgress);
|
package/dist/helper/comment.js
CHANGED
|
@@ -2,26 +2,24 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.commentHelper = exports.CommentHelper = void 0;
|
|
4
4
|
class CommentHelper {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
'[title]
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
'[cycle]
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
'[summary]
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
};
|
|
24
|
-
}
|
|
5
|
+
type = 'line';
|
|
6
|
+
comment = '';
|
|
7
|
+
transformMap = {
|
|
8
|
+
'[deprecated]': '@deprecated',
|
|
9
|
+
'[required]': '[required]',
|
|
10
|
+
'[title]': (text) => {
|
|
11
|
+
const [, nextText = ''] = /\[title\](.*)/.exec(text) ?? [];
|
|
12
|
+
return `${nextText.trim()}\n---`;
|
|
13
|
+
},
|
|
14
|
+
'[cycle]': (text) => {
|
|
15
|
+
const [, nextText = ''] = /\[cycle\](.*)/.exec(text) ?? [];
|
|
16
|
+
return `${nextText.trim()}\n---`;
|
|
17
|
+
},
|
|
18
|
+
'[summary]': (text) => {
|
|
19
|
+
const [, nextText = ''] = /\[summary\](.*)/.exec(text) ?? [];
|
|
20
|
+
return `${nextText.trim()}\n---`;
|
|
21
|
+
},
|
|
22
|
+
};
|
|
25
23
|
static load(options) {
|
|
26
24
|
return new CommentHelper().load(options);
|
|
27
25
|
}
|
|
@@ -6,9 +6,8 @@ const helper_1 = require("../../helper");
|
|
|
6
6
|
const ConfigManager_1 = require("./ConfigManager");
|
|
7
7
|
const GeneratorHelper_1 = require("./GeneratorHelper");
|
|
8
8
|
class ConfigHelper {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
9
|
+
configManager = new ConfigManager_1.ConfigManager();
|
|
10
|
+
projectPath;
|
|
12
11
|
async load(config, projectPath = process.cwd(), tracker) {
|
|
13
12
|
this.projectPath = projectPath;
|
|
14
13
|
await this.configManager.load(config, projectPath, tracker);
|
|
@@ -10,11 +10,13 @@ const GeneratorHelper_1 = require("../../helper/config/GeneratorHelper");
|
|
|
10
10
|
const logger_1 = require("../../helper/logger");
|
|
11
11
|
const zType_1 = require("./zType");
|
|
12
12
|
class ConfigManager {
|
|
13
|
+
config;
|
|
14
|
+
readConfig;
|
|
15
|
+
defaultConfig = Object.freeze({
|
|
16
|
+
generator: [],
|
|
17
|
+
});
|
|
18
|
+
defaultGeneratorConfig = GeneratorHelper_1.generatorHelper.getDefaultConfig();
|
|
13
19
|
constructor() {
|
|
14
|
-
this.defaultConfig = Object.freeze({
|
|
15
|
-
generator: [],
|
|
16
|
-
});
|
|
17
|
-
this.defaultGeneratorConfig = GeneratorHelper_1.generatorHelper.getDefaultConfig();
|
|
18
20
|
this.config = this.defaultConfig;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
@@ -15,19 +15,21 @@ const helper_2 = require("../../helper");
|
|
|
15
15
|
const progress_1 = require("../../helper/progress");
|
|
16
16
|
const zType_1 = require("./zType");
|
|
17
17
|
class GeneratorHelper {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
18
|
+
static instance;
|
|
19
|
+
config;
|
|
20
|
+
readConfig;
|
|
21
|
+
pluginDriver;
|
|
22
|
+
/**
|
|
23
|
+
* Default configuration values
|
|
24
|
+
*/
|
|
25
|
+
defaultConfig = Object.freeze({
|
|
26
|
+
input: '',
|
|
27
|
+
output: '',
|
|
28
|
+
responseMediaType: 'application/json',
|
|
29
|
+
bodyMediaType: 'application/json',
|
|
30
|
+
type: constant_1.ConfigTypeEnum.AUTO,
|
|
31
|
+
defaultRequire: false,
|
|
32
|
+
});
|
|
31
33
|
static getInstance() {
|
|
32
34
|
if (!GeneratorHelper.instance) {
|
|
33
35
|
GeneratorHelper.instance = new GeneratorHelper();
|
|
@@ -17,9 +17,8 @@ exports.supportedApiMethods = [
|
|
|
17
17
|
type_1.HttpMethod.OPTIONS,
|
|
18
18
|
];
|
|
19
19
|
class OpenApiHelper {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
20
|
+
document;
|
|
21
|
+
usedRefsCache = new Set();
|
|
23
22
|
load(document) {
|
|
24
23
|
this.document = document;
|
|
25
24
|
// reset cache when document changes
|
|
@@ -4,13 +4,11 @@ exports.logger = void 0;
|
|
|
4
4
|
const config_1 = require("../../config");
|
|
5
5
|
const DEFAULT_CONFIG = (0, config_1.getGlobalConfig)();
|
|
6
6
|
class Logger {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
};
|
|
13
|
-
}
|
|
7
|
+
options = {
|
|
8
|
+
level: 'info',
|
|
9
|
+
timestamp: true,
|
|
10
|
+
colors: true,
|
|
11
|
+
};
|
|
14
12
|
configure(options) {
|
|
15
13
|
this.options = { ...this.options, ...options };
|
|
16
14
|
return this;
|
package/dist/helper/progress.js
CHANGED
|
@@ -22,10 +22,12 @@ exports.GeneratorStage = {
|
|
|
22
22
|
SKIPPED: 'skipped',
|
|
23
23
|
};
|
|
24
24
|
class ProgressTracker {
|
|
25
|
+
snapshot = {};
|
|
26
|
+
dirty = false;
|
|
27
|
+
timer = null;
|
|
28
|
+
listener;
|
|
29
|
+
interval;
|
|
25
30
|
constructor(listener, interval = 500) {
|
|
26
|
-
this.snapshot = {};
|
|
27
|
-
this.dirty = false;
|
|
28
|
-
this.timer = null;
|
|
29
31
|
this.listener = listener;
|
|
30
32
|
this.interval = interval;
|
|
31
33
|
}
|
|
@@ -62,6 +62,10 @@ function joinPath(...parts) {
|
|
|
62
62
|
return p ? normalizeSlashes(p) : p;
|
|
63
63
|
}
|
|
64
64
|
class TemplateHelper {
|
|
65
|
+
static instance;
|
|
66
|
+
/** Runtime cache of parsed template data, keyed by `${projectPath}::${output}`. Flushed to disk via flushAllData. */
|
|
67
|
+
static _cacheData = new Map();
|
|
68
|
+
config;
|
|
65
69
|
// ============ hasTagTemplates / instance ============
|
|
66
70
|
static async hasTagTemplates(templatePath, type) {
|
|
67
71
|
try {
|
|
@@ -470,6 +474,4 @@ class TemplateHelper {
|
|
|
470
474
|
}
|
|
471
475
|
}
|
|
472
476
|
exports.TemplateHelper = TemplateHelper;
|
|
473
|
-
/** Runtime cache of parsed template data, keyed by `${projectPath}::${output}`. Flushed to disk via flushAllData. */
|
|
474
|
-
TemplateHelper._cacheData = new Map();
|
|
475
477
|
exports.templateHelper = TemplateHelper.getInstance();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function {{{name}}}<Config extends Alova2MethodConfig<{{addNamespace response @root.componentNames}}> & {{{name}}}ExtraConfig>(config: Config): Alova2Method<ExtractResponded<Config, '{{{name}}}', {{addNamespace response @root.componentNames}}>>;
|
|
1
|
+
export declare function {{{name}}}<Config extends Alova2MethodConfig<{{addNamespace response @root.componentNames}}> & {{{name}}}ExtraConfig>(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: Config): Alova2Method<ExtractResponded<Config, '{{{name}}}', {{addNamespace response @root.componentNames}}>>;
|
|
@@ -18,7 +18,7 @@ interface {{{name}}}ExtraConfig {
|
|
|
18
18
|
{{/if}}
|
|
19
19
|
}
|
|
20
20
|
{{> api-jsdoc}}
|
|
21
|
-
export function {{{name}}}<Config extends Alova2MethodConfig<{{addNamespace response @root.componentNames}}> & {{{name}}}ExtraConfig>(config: Config): Alova2Method<ExtractResponded<Config, '{{{name}}}', {{addNamespace response @root.componentNames}}>> {
|
|
21
|
+
export function {{{name}}}<Config extends Alova2MethodConfig<{{addNamespace response @root.componentNames}}> & {{{name}}}ExtraConfig>(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: Config): Alova2Method<ExtractResponded<Config, '{{{name}}}', {{addNamespace response @root.componentNames}}>> {
|
|
22
22
|
const { url, data, mergedConfig } = buildPayload('{{{path}}}', {{{tag}}}DefaultConfig, {{{name}}}.name, config);
|
|
23
23
|
return alovaInstance.Request<ExtractResponded<Config, '{{{name}}}', {{addNamespace response @root.componentNames}}>>({
|
|
24
24
|
...mergedConfig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>;
|
|
1
|
+
export declare function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>;
|
|
@@ -17,9 +17,9 @@ type {{{name}}}ExtraConfig = Omit<AxiosRequestConfig, 'data' | 'params'> & {
|
|
|
17
17
|
{{/if}}
|
|
18
18
|
};
|
|
19
19
|
{{> api-jsdoc}}
|
|
20
|
-
export function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> {
|
|
20
|
+
export function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> {
|
|
21
21
|
const { url, mergedConfig } = buildPayload('{{{path}}}', {{{tag}}}DefaultConfig, {{{name}}}.name, config);
|
|
22
|
-
return axiosInstance<{{{name}}}Response>({
|
|
22
|
+
return axiosInstance<unknown, {{{name}}}Response>({
|
|
23
23
|
method: '{{method}}',
|
|
24
24
|
url,
|
|
25
25
|
...mergedConfig,{{#if (eq response "Blob")}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>;
|
|
1
|
+
export declare function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>;
|
|
@@ -16,7 +16,7 @@ type {{{name}}}ExtraConfig = Omit<RequestInit, 'body'> & {
|
|
|
16
16
|
{{/if}}
|
|
17
17
|
};
|
|
18
18
|
{{> api-jsdoc}}
|
|
19
|
-
export async function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> {
|
|
19
|
+
export async function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> {
|
|
20
20
|
const { url, mergedConfig } = buildPayload('{{{path}}}', {{{tag}}}DefaultConfig, {{{name}}}.name, config);
|
|
21
21
|
return fetchClient.request(url, { method: '{{method}}', ...mergedConfig{{#if (eq response "Blob")}}, blob: true{{/if}} }) as Promise<{{{name}}}Response>;
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>;
|
|
1
|
+
export declare function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>;
|
|
@@ -17,7 +17,7 @@ type {{{name}}}ExtraConfig = Options & {
|
|
|
17
17
|
{{/if}}
|
|
18
18
|
};
|
|
19
19
|
{{> api-jsdoc}}
|
|
20
|
-
export function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> {
|
|
20
|
+
export function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> {
|
|
21
21
|
const { url, mergedConfig } = buildPayload('{{{path}}}', {{{tag}}}DefaultConfig, {{{name}}}.name, config);
|
|
22
22
|
const resolvedPath = url.replace(/^\//, '');
|
|
23
23
|
return kyInstance(resolvedPath, {
|
package/dist/utils/openapi.js
CHANGED
|
@@ -271,7 +271,7 @@ function isCircular(obj) {
|
|
|
271
271
|
}
|
|
272
272
|
seenObjects.add(obj);
|
|
273
273
|
for (const key in obj) {
|
|
274
|
-
if (Object.
|
|
274
|
+
if (Object.hasOwn(obj, key)) {
|
|
275
275
|
if (detect(obj[key])) {
|
|
276
276
|
return true;
|
|
277
277
|
}
|
|
@@ -288,7 +288,7 @@ function hasBaseReferenceObject(obj) {
|
|
|
288
288
|
return true;
|
|
289
289
|
}
|
|
290
290
|
for (const key in obj) {
|
|
291
|
-
if (Object.
|
|
291
|
+
if (Object.hasOwn(obj, key)) {
|
|
292
292
|
if (hasBaseReferenceObject(obj[key])) {
|
|
293
293
|
return true;
|
|
294
294
|
}
|
|
@@ -305,7 +305,7 @@ function removeBaseReference(obj, options) {
|
|
|
305
305
|
return refObj;
|
|
306
306
|
}
|
|
307
307
|
for (const key in obj) {
|
|
308
|
-
if (Object.
|
|
308
|
+
if (Object.hasOwn(obj, key) && hasBaseReferenceObject(obj[key])) {
|
|
309
309
|
obj[key] = removeBaseReference(obj[key], { openApi, map, refNameMap });
|
|
310
310
|
}
|
|
311
311
|
}
|
|
@@ -327,7 +327,7 @@ function removeBaseReference(obj, options) {
|
|
|
327
327
|
};
|
|
328
328
|
}
|
|
329
329
|
for (const key in obj) {
|
|
330
|
-
if (Object.
|
|
330
|
+
if (Object.hasOwn(obj, key) && hasBaseReferenceObject(obj[key])) {
|
|
331
331
|
obj[key] = removeBaseReference(obj[key], { openApi, map, refNameMap });
|
|
332
332
|
}
|
|
333
333
|
}
|
|
@@ -364,7 +364,7 @@ function unCircular(obj, options) {
|
|
|
364
364
|
seen.set(obj, { $ref: nextPath });
|
|
365
365
|
map.push([nextPath, obj]);
|
|
366
366
|
for (const key in obj) {
|
|
367
|
-
if (Object.
|
|
367
|
+
if (Object.hasOwn(obj, key)) {
|
|
368
368
|
obj[key] = unCircular(obj[key], { openApi, map, objPath: `${objPath}.${key}`, seen, refNameMap });
|
|
369
369
|
}
|
|
370
370
|
}
|
|
@@ -375,7 +375,7 @@ function unCircular(obj, options) {
|
|
|
375
375
|
}
|
|
376
376
|
map.push([$ref, obj]);
|
|
377
377
|
for (const key in obj) {
|
|
378
|
-
if (Object.
|
|
378
|
+
if (Object.hasOwn(obj, key)) {
|
|
379
379
|
obj[key] = unCircular(obj[key], { openApi, map, objPath: `${objPath}.${key}`, seen, refNameMap });
|
|
380
380
|
}
|
|
381
381
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wormajs",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "A modern OpenAPI code generator - Generate type-safe API clients from OpenAPI specs",
|
|
5
5
|
"author": "worma",
|
|
6
6
|
"license": "MIT",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
},
|
|
81
81
|
"scripts": {
|
|
82
82
|
"test": "vitest run",
|
|
83
|
-
"build": "run-s build
|
|
83
|
+
"build": "run-s \"build:*\"",
|
|
84
84
|
"build:ts": "tsc --build tsconfig.build.json && tsc-alias -p tsconfig.build.json",
|
|
85
85
|
"build:dts": "dts-bundle-generator -o typings/index.d.ts src/index.ts --no-check --no-banner --project tsconfig.dts.json",
|
|
86
86
|
"build:plugin-dts": "dts-bundle-generator -o typings/plugins.d.ts src/plugins/index.ts --no-check --no-banner --project tsconfig.dts.json",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"root":["../src/config.ts","../src/constant.ts","../src/createConfig.ts","../src/defineConfig.ts","../src/generate.ts","../src/index.ts","../src/readConfig.ts","../src/resolveWorkspaces.ts","../src/bin/actions.ts","../src/bin/cli.ts","../src/bin/progressRenderer.ts","../src/bin/renderer.ts","../src/bin/theme.ts","../src/core/WorkerPool.ts","../src/core/loader/index.ts","../src/core/loader/astLoader/helper.ts","../src/core/loader/astLoader/index.ts","../src/core/loader/astLoader/generates/array.ts","../src/core/loader/astLoader/generates/enum.ts","../src/core/loader/astLoader/generates/group.ts","../src/core/loader/astLoader/generates/index.ts","../src/core/loader/astLoader/generates/interface.ts","../src/core/loader/astLoader/generates/simple.ts","../src/core/loader/astLoader/generates/tuple.ts","../src/core/loader/astLoader/generates/type.ts","../src/core/loader/astLoader/generates/utils.ts","../src/core/loader/astLoader/normalize/index.ts","../src/core/loader/astLoader/normalize/normalizer.ts","../src/core/loader/astLoader/normalize/rules/convertTypeArray.ts","../src/core/loader/astLoader/normalize/rules/handleEmptyType.ts","../src/core/loader/astLoader/normalize/rules/inferType.ts","../src/core/loader/astLoader/normalize/rules/mergeAnyOf.ts","../src/core/loader/astLoader/normalize/rules/normalizeCombiningKeywords.ts","../src/core/loader/astLoader/normalize/rules/normalizeEnum.ts","../src/core/loader/astLoader/normalize/rules/normalizeNullType.ts","../src/core/loader/astLoader/normalize/rules/removeRedundantKeywords.ts","../src/core/loader/astLoader/normalize/rules/simplifySingleType.ts","../src/core/loader/astLoader/normalize/rules/validateSchema.ts","../src/core/loader/astLoader/parsers/array.ts","../src/core/loader/astLoader/parsers/const.ts","../src/core/loader/astLoader/parsers/enum.ts","../src/core/loader/astLoader/parsers/group.ts","../src/core/loader/astLoader/parsers/index.ts","../src/core/loader/astLoader/parsers/object.ts","../src/core/loader/astLoader/parsers/reference.ts","../src/core/loader/astLoader/parsers/simple.ts","../src/core/loader/astLoader/parsers/tuple.ts","../src/core/loader/astLoader/parsers/type.ts","../src/core/loader/astLoader/parsers/utils.ts","../src/core/loader/astLoader/parsers/forward/array.ts","../src/core/loader/astLoader/parsers/forward/const.ts","../src/core/loader/astLoader/parsers/forward/enum.ts","../src/core/loader/astLoader/parsers/forward/group.ts","../src/core/loader/astLoader/parsers/forward/index.ts","../src/core/loader/astLoader/parsers/forward/object.ts","../src/core/loader/astLoader/parsers/forward/tuple.ts","../src/core/loader/astLoader/parsers/forward/type.ts","../src/core/loader/callingCodeLoader/helper.ts","../src/core/loader/callingCodeLoader/index.ts","../src/core/loader/schemaLoader/index.ts","../src/core/loader/standardLoader/helper.ts","../src/core/loader/standardLoader/index.ts","../src/core/loader/standardLoader/standards.ts","../src/core/parser/index.ts","../src/core/parser/openApiParser/helper.ts","../src/core/parser/openApiParser/index.ts","../src/core/parser/templateParser/helper.ts","../src/core/parser/templateParser/index.ts","../src/core/workerPool/index.ts","../src/core/workerPool/poolManager.ts","../src/core/workerPool/swagger2Worker.ts","../src/core/workerPool/worker.ts","../src/functions/getAutoTemplateType.ts","../src/functions/getFrameworkTag.ts","../src/functions/prepareConfig.ts","../src/functions/readWormaRc.ts","../src/functions/wormaJson.ts","../src/helper/PluginDriver.ts","../src/helper/comment.ts","../src/helper/index.ts","../src/helper/progress.ts","../src/helper/config/ConfigHelper.ts","../src/helper/config/ConfigManager.ts","../src/helper/config/GeneratorHelper.ts","../src/helper/config/index.ts","../src/helper/config/type.ts","../src/helper/config/zType.ts","../src/helper/document/index.ts","../src/helper/logger/index.ts","../src/helper/template/index.ts","../src/plugins/createPlugin.ts","../src/plugins/index.ts","../src/plugins/presets/aiDoc.ts","../src/plugins/presets/apifox.ts","../src/plugins/presets/filterApi.ts","../src/plugins/presets/importType.ts","../src/plugins/presets/rename.ts","../src/plugins/presets/tagModifier.ts","../src/plugins/presets/utils.ts","../src/plugins/presets/payloadModifier/hepler.ts","../src/plugins/presets/payloadModifier/index.ts","../src/plugins/presets/payloadModifier/type.ts","../src/plugins/presets/platform/fastapi.ts","../src/plugins/presets/platform/index.ts","../src/plugins/presets/platform/knife4j.ts","../src/plugins/presets/platform/shared.ts","../src/plugins/presets/platform/swagger.ts","../src/plugins/presets/platform/yapi.ts","../src/template/index.ts","../src/type/api.ts","../src/type/ast.ts","../src/type/base.ts","../src/type/index.ts","../src/type/lib.ts","../src/type/openapi.ts","../src/utils/base.ts","../src/utils/format.ts","../src/utils/index.ts","../src/utils/openapi.ts","../src/utils/readPackageJson.ts","../src/utils/template.ts"],"version":"5.9.3"}
|