swagger-express-typescript
Version:
Generate and serve swagger.json
1 lines • 2.05 kB
Source Map (JSON)
{"version":3,"sources":["../../lib/swagger-express-typescript-lib/src/api-model-property.decorator.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAoDnD,SAAgB,gBAAgB,CAC5B,IAA4B;IAE5B,OAAO,UAAC,MAAW,EAAE,WAA4B;QAC7C,IAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CACpC,aAAa,EACb,MAAM,EACN,WAAW,CACd,CAAC,IAAI,CAAC;QACP,gCAAc,CAAC,WAAW,EAAE,CAAC,mBAAmB,CAC5C,IAAI,EACJ,MAAM,EACN,WAAW,EACX,YAAY,CACf,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AAhBD,4CAgBC","file":"api-model-property.decorator.js","sourcesContent":["import { SwaggerService } from './swagger.service';\nimport { IApiOperationArgsBase } from './i-api-operation-args.base';\n\nexport interface IApiModelPropertyArgs {\n /**\n * Define if property is required.\n * Optional. Default is false.\n */\n required?: boolean;\n\n /**\n * Define format of property. Example: SwaggerDefinitionConstant.Definition.Property.Format.INT_64\n * Optional.\n */\n format?: string;\n\n /**\n * Define type of property. Example: SwaggerDefinitionConstant.Definition.Property.Type.STRING\n * Optional.\n */\n type?: string;\n\n /**\n * Define description.\n * Optional.\n */\n description?: string;\n\n /**\n * Define enum;\n * Optional.\n */\n enum?: string[];\n\n /**\n * Define model.\n * Optional.\n */\n model?: string;\n\n /**\n * Define type of item. Example: SwaggerDefinitionConstant.Definition.Property.Type.STRING\n * Optional.\n */\n itemType?: string;\n\n /**\n * Define example.\n */\n example?: any[];\n}\n\nexport function ApiModelProperty(\n args?: IApiModelPropertyArgs\n): PropertyDecorator {\n return (target: any, propertyKey: string | symbol) => {\n const propertyType = Reflect.getMetadata(\n 'design:type',\n target,\n propertyKey\n ).name;\n SwaggerService.getInstance().addApiModelProperty(\n args,\n target,\n propertyKey,\n propertyType\n );\n };\n}\n"]}