@midwayjs/swagger 3.3.14 → 3.4.0-beta.11

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.
@@ -336,5 +336,24 @@ export interface SwaggerOptions {
336
336
  * 可以使用 1-xxx、2-xxx、3-xxx 来定义 tag
337
337
  */
338
338
  tagSortable?: boolean;
339
+ /**
340
+ * UI 展示中需要用到的配置
341
+ * 可以参考 https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#display
342
+ */
343
+ displayOptions?: {
344
+ deepLinking?: boolean;
345
+ displayOperationId?: boolean;
346
+ defaultModelsExpandDepth?: number;
347
+ defaultModelExpandDepth?: number;
348
+ defaultModelRendering?: 'example' | 'model';
349
+ displayRequestDuration?: boolean;
350
+ docExpansion?: 'list' | 'full' | 'none';
351
+ filter?: boolean | string;
352
+ maxDisplayedTags?: number;
353
+ showExtensions?: boolean;
354
+ showCommonExtensions?: boolean;
355
+ useUnsafeMarkdown?: boolean;
356
+ tryItOutEnabled?: boolean;
357
+ };
339
358
  }
340
359
  //# sourceMappingURL=index.d.ts.map
@@ -381,7 +381,7 @@ let SwaggerExplorer = class SwaggerExplorer {
381
381
  * @param p
382
382
  */
383
383
  parseFromParamsToP(paramMeta, p) {
384
- var _a, _b, _c, _d;
384
+ var _a, _b, _c;
385
385
  if (paramMeta) {
386
386
  const param = paramMeta.metadata;
387
387
  if (param) {
@@ -392,7 +392,7 @@ let SwaggerExplorer = class SwaggerExplorer {
392
392
  if (param.in === 'query') {
393
393
  p.allowEmptyValue = param.allowEmptyValue || false;
394
394
  }
395
- if (param.example) {
395
+ if (typeof param.example !== undefined) {
396
396
  p.example = param.example;
397
397
  }
398
398
  if (param.examples) {
@@ -432,13 +432,22 @@ let SwaggerExplorer = class SwaggerExplorer {
432
432
  };
433
433
  }
434
434
  if (param.isArray) {
435
+ let ref;
436
+ if ((_c = p === null || p === void 0 ? void 0 : p.schema) === null || _c === void 0 ? void 0 : _c.$ref) {
437
+ ref = p.schema.$ref;
438
+ }
435
439
  p.schema = {
436
440
  type: 'array',
437
441
  items: {
438
- type: (_d = (_c = p === null || p === void 0 ? void 0 : p.schema) === null || _c === void 0 ? void 0 : _c.$ref) !== null && _d !== void 0 ? _d : convertSchemaType(param.type),
439
442
  format: param.format,
440
443
  },
441
444
  };
445
+ if (ref) {
446
+ p.schema.items.$ref = ref;
447
+ }
448
+ else {
449
+ p.schema.items.type = convertSchemaType(param.type);
450
+ }
442
451
  }
443
452
  else {
444
453
  if (!p.schema) {
@@ -492,7 +501,7 @@ let SwaggerExplorer = class SwaggerExplorer {
492
501
  Object.keys(props).forEach(key => {
493
502
  var _a, _b;
494
503
  const metadata = props[key].metadata;
495
- if (metadata === null || metadata === void 0 ? void 0 : metadata.example) {
504
+ if (typeof (metadata === null || metadata === void 0 ? void 0 : metadata.example) !== undefined) {
496
505
  if (!tt.example) {
497
506
  tt.example = {};
498
507
  }
@@ -103,7 +103,13 @@ let SwaggerMiddleware = class SwaggerMiddleware {
103
103
  }
104
104
  }
105
105
  replaceInfo(content) {
106
- return content.replace('"https://petstore.swagger.io/v2/swagger.json",', `location.href.replace('${this.swaggerConfig.swaggerPath}/index.html', '${this.swaggerConfig.swaggerPath}/index.json'),\n validatorUrl: null,`);
106
+ let str = `location.href.replace('${this.swaggerConfig.swaggerPath}/index.html', '${this.swaggerConfig.swaggerPath}/index.json'),\n validatorUrl: null,`;
107
+ if (this.swaggerConfig.displayOptions) {
108
+ Object.keys(this.swaggerConfig.displayOptions).forEach(key => {
109
+ str += `\n${key}: ${this.swaggerConfig.displayOptions[key]},`;
110
+ });
111
+ }
112
+ return content.replace('"https://petstore.swagger.io/v2/swagger.json",', str);
107
113
  }
108
114
  static getName() {
109
115
  return 'swagger';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midwayjs/swagger",
3
- "version": "3.3.14",
3
+ "version": "3.4.0-beta.11",
4
4
  "main": "dist/index",
5
5
  "typings": "index.d.ts",
6
6
  "files": [
@@ -9,12 +9,12 @@
9
9
  "index.d.ts"
10
10
  ],
11
11
  "devDependencies": {
12
- "@midwayjs/core": "^3.3.5",
13
- "@midwayjs/decorator": "^3.3.4",
14
- "@midwayjs/koa": "^3.3.6",
15
- "@midwayjs/mock": "^3.3.5",
16
- "@midwayjs/validate": "^3.3.11",
17
- "swagger-ui-dist": "4.6.2"
12
+ "@midwayjs/core": "^3.4.0-beta.11",
13
+ "@midwayjs/decorator": "^3.4.0-beta.11",
14
+ "@midwayjs/koa": "^3.4.0-beta.11",
15
+ "@midwayjs/mock": "^3.4.0-beta.11",
16
+ "@midwayjs/validate": "^3.4.0-beta.11",
17
+ "swagger-ui-dist": "4.12.0"
18
18
  },
19
19
  "author": "Kurten Chan <chinkurten@gmail.com>",
20
20
  "license": "MIT",
@@ -28,5 +28,5 @@
28
28
  "type": "git",
29
29
  "url": "https://github.com/midwayjs/midway.git"
30
30
  },
31
- "gitHead": "01bbc493f384e137751f250d3d0175773cfcabef"
31
+ "gitHead": "b1c7a439b0df37d3e381cd182ea3b9e74323107b"
32
32
  }