@loopback/openapi-v3-types
Advanced tools
Comparing version 0.7.0 to 0.7.1
@@ -6,2 +6,10 @@ # Change Log | ||
<a name="0.7.1"></a> | ||
## [0.7.1](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3-types@0.7.0...@loopback/openapi-v3-types@0.7.1) (2018-05-08) | ||
**Note:** Version bump only for package @loopback/openapi-v3-types | ||
<a name="0.7.0"></a> | ||
@@ -8,0 +16,0 @@ # [0.7.0](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3-types@0.5.0...@loopback/openapi-v3-types@0.7.0) (2018-05-03) |
@@ -1,7 +0,325 @@ | ||
import { OpenAPIObject } from 'openapi3-ts'; | ||
import * as OAS3 from 'openapi3-ts'; | ||
export * from 'openapi3-ts'; | ||
export declare type OpenApiSpec = OpenAPIObject; | ||
export declare type OpenApiSpec = OAS3.OpenAPIObject; | ||
/** | ||
* Custom extensions can use arbitrary type as the value, | ||
* e.g. a string, an object or an array. | ||
*/ | ||
export declare type ExtensionValue = any; | ||
/** | ||
* The location of a parameter. | ||
* Possible values are "query", "header", "path" or "cookie". | ||
* Specification: | ||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#parameter-locations | ||
*/ | ||
export declare type ParameterLocation = 'query' | 'header' | 'path' | 'cookie'; | ||
/** | ||
* The style of a parameter. | ||
* Describes how the parameter value will be serialized. | ||
* (serialization is not implemented yet) | ||
* Specification: | ||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#style-values | ||
*/ | ||
export declare type ParameterStyle = 'matrix' | 'label' | 'form' | 'simple' | 'spaceDelimited' | 'pipeDelimited' | 'deepObject'; | ||
/** | ||
* The Schema Object allows the definition of input and output data types. | ||
* the properties consist of two parts: | ||
* - taken directly from the JSON Schema, is described by interface `JSONType` | ||
* - taken from the JSON Schema, but definitions were adjusted to the | ||
* OpenAPI Specification, is described by interface `OAS3SchemaObject` | ||
*/ | ||
export interface SchemaObject extends JSONType, OAS3SchemaObject { | ||
} | ||
/** | ||
* Part of OpenAPI Schema Object, The following properties are taken from the | ||
* JSON Schema definition but their definitions were adjusted to the OpenAPI | ||
* Specification. | ||
*/ | ||
export interface OAS3SchemaObject extends ISpecificationExtension { | ||
nullable?: boolean; | ||
discriminator?: DiscriminatorObject; | ||
readOnly?: boolean; | ||
writeOnly?: boolean; | ||
xml?: XMLObject; | ||
externalDocs?: ExternalDocumentationObject; | ||
example?: ExtensionValue; | ||
examples?: ExtensionValue[]; | ||
deprecated?: boolean; | ||
type?: string; | ||
allOf?: (SchemaObject | ReferenceObject)[]; | ||
oneOf?: (SchemaObject | ReferenceObject)[]; | ||
anyOf?: (SchemaObject | ReferenceObject)[]; | ||
not?: SchemaObject | ReferenceObject; | ||
items?: SchemaObject | ReferenceObject; | ||
properties?: { | ||
[propertyName: string]: SchemaObject | ReferenceObject; | ||
}; | ||
additionalProperties?: SchemaObject | ReferenceObject; | ||
description?: string; | ||
format?: string; | ||
default?: ExtensionValue; | ||
} | ||
/** | ||
* JSON type - This is part of the Schema object. | ||
* The following properties are taken directly from the JSON Schema | ||
* definition and follow the same specifications. | ||
* See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#schema-object | ||
*/ | ||
export declare type JSONType = { | ||
title?: string; | ||
multipleOf?: number; | ||
maximum?: number; | ||
exclusiveMaximum?: number; | ||
minimum?: number; | ||
exclusiveMinimum?: number; | ||
maxLength?: number; | ||
minLength?: number; | ||
pattern?: string; | ||
maxItems?: number; | ||
minItems?: number; | ||
uniqueItems?: boolean; | ||
maxProperties?: number; | ||
minProperties?: number; | ||
enum?: Array<ExtensionValue>; | ||
}; | ||
/** | ||
* Describes a single request body. | ||
* Specification: | ||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#request-body-object | ||
*/ | ||
export interface RequestBodyObject extends ISpecificationExtension { | ||
description?: string; | ||
content: ContentObject; | ||
required?: boolean; | ||
} | ||
/** | ||
* Describes an object of multiple content types. | ||
* For example: | ||
* ```js | ||
* { | ||
* 'application/json': { | ||
* schema: {...schemaObjectSpec} | ||
* }, | ||
* 'application/text': { | ||
* schema: {...schemaObjectSpec} | ||
* } | ||
* } | ||
* ``` | ||
*/ | ||
export interface ContentObject { | ||
[mediatype: string]: MediaTypeObject; | ||
} | ||
/** | ||
* Each Media Type Object provides schema and examples for the media type | ||
* identified by its key. | ||
* Specification: | ||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#media-type-object | ||
*/ | ||
export interface MediaTypeObject extends ISpecificationExtension { | ||
schema?: SchemaObject | ReferenceObject; | ||
examples?: [ExampleObject | ReferenceObject]; | ||
example?: ExampleObject | ReferenceObject; | ||
encoding?: EncodingObject; | ||
} | ||
/** | ||
* Describes an encoding object, used in ParameterObject | ||
*/ | ||
export interface EncodingObject extends ISpecificationExtension { | ||
[property: string]: EncodingPropertyObject | ExtensionValue; | ||
} | ||
/** | ||
* Describes an encoding object, used in `SchemaObject` | ||
*/ | ||
export interface EncodingPropertyObject { | ||
contentType?: string; | ||
headers?: { | ||
[key: string]: HeaderObject | ReferenceObject; | ||
}; | ||
style?: string; | ||
explode?: boolean; | ||
allowReserved?: boolean; | ||
[key: string]: ExtensionValue; | ||
} | ||
/** | ||
* Describes a header object, used in `EncodingPropertyObject` | ||
*/ | ||
export interface HeaderObject extends ParameterObject { | ||
} | ||
/** | ||
* Describes a single operation parameter. | ||
* A unique parameter is defined by a combination of a name and location. | ||
* Specification | ||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#parameter-object | ||
*/ | ||
export interface ParameterObject extends ISpecificationExtension { | ||
name: string; | ||
in: ParameterLocation; | ||
description?: string; | ||
required?: boolean; | ||
deprecated?: boolean; | ||
allowEmptyValue?: boolean; | ||
style?: ParameterStyle; | ||
explode?: boolean; | ||
allowReserved?: boolean; | ||
schema?: SchemaObject | ReferenceObject; | ||
examples?: { | ||
[param: string]: ExampleObject | ReferenceObject; | ||
}; | ||
example?: ExtensionValue; | ||
content?: ContentObject; | ||
} | ||
/** | ||
* Describes an example object, used in `ParameterObject` | ||
*/ | ||
export interface ExampleObject { | ||
summary?: string; | ||
description?: string; | ||
value?: ExtensionValue; | ||
externalValue?: string; | ||
[property: string]: ExtensionValue; | ||
} | ||
export interface ReferenceObject { | ||
$ref: string; | ||
} | ||
/** | ||
* Describes a discriminator object, used in `SchemaObject` | ||
*/ | ||
export interface DiscriminatorObject { | ||
propertyName: string; | ||
mapping?: { | ||
[key: string]: string; | ||
}; | ||
} | ||
/** | ||
* Describes an XML object, used in `SchemaObject` | ||
*/ | ||
export interface XMLObject extends ISpecificationExtension { | ||
name?: string; | ||
namespace?: string; | ||
prefix?: string; | ||
attribute?: boolean; | ||
wrapped?: boolean; | ||
} | ||
/** | ||
* Describes an external document object, used in `SchemaObject` | ||
*/ | ||
export interface ExternalDocumentationObject extends ISpecificationExtension { | ||
description?: string; | ||
url: string; | ||
} | ||
/** | ||
* Allow key(string) value extension specifications. | ||
* These value extensions cannot be used as constraints, but can be filtered for retrieval. | ||
*/ | ||
export interface ISpecificationExtension { | ||
[extensionName: string]: ExtensionValue; | ||
} | ||
/** | ||
* Maps names to a given type of values | ||
*/ | ||
export interface MapObject<T> { | ||
/** | ||
* Maps between a name and object | ||
*/ | ||
[name: string]: T; | ||
} | ||
/** | ||
* Schemas Object in components | ||
*/ | ||
export interface SchemasObject extends MapObject<SchemaObject> { | ||
[name: string]: SchemaObject; | ||
} | ||
/** | ||
* Lists the available scopes for an OAuth2 security scheme. | ||
*/ | ||
export interface ScopesObject extends MapObject<string>, ISpecificationExtension { | ||
/** | ||
* Maps between a name of a scope to a short description of it (as the value | ||
* of the property). | ||
*/ | ||
[name: string]: string; | ||
} | ||
/** | ||
* A declaration of the security schemes available to be used in the | ||
* specification. This does not enforce the security schemes on the operations | ||
* and only serves to provide the relevant details for each scheme. | ||
*/ | ||
export interface SecurityDefinitionsObject extends MapObject<OAS3.SecuritySchemeObject> { | ||
/** | ||
* A single security scheme definition, mapping a "name" to the scheme it | ||
* defines. | ||
*/ | ||
[name: string]: OAS3.SecuritySchemeObject; | ||
} | ||
/** | ||
* An object to hold parameters to be reused across operations. Parameter | ||
* definitions can be referenced to the ones defined here. | ||
* | ||
* This does not define global operation parameters. | ||
*/ | ||
export interface ParametersDefinitionsObject extends MapObject<OAS3.ParameterObject> { | ||
/** | ||
* A single parameter definition, mapping a "name" to the parameter it | ||
* defines. | ||
*/ | ||
[name: string]: OAS3.ParameterObject; | ||
} | ||
/** | ||
* An object to hold responses to be reused across operations. Response | ||
* definitions can be referenced to the ones defined here. | ||
* | ||
* This does not define global operation responses. | ||
*/ | ||
export interface ResponsesDefinitionsObject extends MapObject<OAS3.ResponseObject> { | ||
/** | ||
* A single response definition, mapping a "name" to the response it defines. | ||
*/ | ||
[name: string]: OAS3.ResponseObject; | ||
} | ||
/** | ||
* A container for the expected responses of an operation. | ||
* The container maps a HTTP response code to the expected response. | ||
* It is not expected from the documentation to necessarily cover all | ||
* possible HTTP response codes, since they may not be known in advance. | ||
* However, it is expected from the documentation to cover a successful | ||
* operation response and any known errors. | ||
* The `default` can be used as the default response object for all | ||
* HTTP codes that are not covered individually by the specification. | ||
* The `ResponsesObject` MUST contain at least one response code, | ||
* and it SHOULD be the response for a successful operation call. | ||
* Specification: | ||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#responsesObject | ||
*/ | ||
export interface ResponsesObject extends MapObject<OAS3.ResponseObject | OAS3.ReferenceObject | undefined>, ISpecificationExtension { | ||
/** | ||
* The documentation of responses other than the ones declared for specific | ||
* HTTP response codes. It can be used to cover undeclared responses. | ||
* Reference Object can be used to link to a response that is defined at | ||
* the Swagger Object's responses section. | ||
*/ | ||
default?: OAS3.ResponseObject | OAS3.ReferenceObject; | ||
} | ||
/** | ||
* Lists the headers that can be sent as part of a response. | ||
*/ | ||
export interface HeadersObject extends MapObject<OAS3.HeaderObject> { | ||
/** | ||
* The name of the property corresponds to the name of the header. The value | ||
* describes the type of the header. | ||
*/ | ||
[name: string]: OAS3.HeaderObject; | ||
} | ||
/** | ||
* Holds the relative paths to the individual endpoints. | ||
* The path is appended to the basePath in order to construct the full URL. | ||
* The Paths may be empty, due to ACL constraints. | ||
* Specification: | ||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#paths-object | ||
*/ | ||
export interface PathsObject extends MapObject<OAS3.PathItemObject | OAS3.ReferenceObject | ExtensionValue> { | ||
[httpPathOrSwaggerExtension: string]: OAS3.PathItemObject | OAS3.ReferenceObject | ExtensionValue; | ||
} | ||
/** | ||
* Create an empty OpenApiSpec object that's still a valid openapi document. | ||
*/ | ||
export declare function createEmptyApiSpec(): OpenApiSpec; |
@@ -1,2 +0,2 @@ | ||
import { SchemaObject, ReferenceObject } from './openapi-v3-spec-types'; | ||
import { SchemaObject, ReferenceObject, ExtensionValue } from './openapi-v3-spec-types'; | ||
/** | ||
@@ -7,2 +7,2 @@ * Type guard for OpenAPI 3.0.0 schema object | ||
export declare function isSchemaObject(schema: SchemaObject | ReferenceObject): schema is SchemaObject; | ||
export declare function isReferenceObject(obj: object): obj is ReferenceObject; | ||
export declare function isReferenceObject(obj: ExtensionValue): obj is ReferenceObject; |
{ | ||
"name": "@loopback/openapi-v3-types", | ||
"version": "0.7.0", | ||
"version": "0.7.1", | ||
"description": "TypeScript type definitions for OpenAPI Specifications.", | ||
@@ -9,8 +9,8 @@ "engines": { | ||
"dependencies": { | ||
"@loopback/dist-util": "^0.3.0", | ||
"@loopback/dist-util": "^0.3.1", | ||
"openapi3-ts": "^0.11.0" | ||
}, | ||
"devDependencies": { | ||
"@loopback/build": "^0.6.2", | ||
"@loopback/testlab": "^0.10.0", | ||
"@loopback/build": "^0.6.3", | ||
"@loopback/testlab": "^0.10.1", | ||
"@types/node": "^8.10.4" | ||
@@ -17,0 +17,0 @@ }, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
35137
628
Updated@loopback/dist-util@^0.3.1