Skip to content

Commit e18e4e1

Browse files
committed
Refactor schema definitions
1 parent a43e1f0 commit e18e4e1

File tree

6 files changed

+62
-18
lines changed

6 files changed

+62
-18
lines changed

package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@
3030
"typescript": "3.9.10"
3131
},
3232
"dependencies": {
33-
"@fosfad/json-schema-typescript-definitions": "0.0.3"
33+
"@fosfad/json-schema-typescript-definitions": "0.0.5"
3434
}
3535
}

src/components.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { PathItem } from './pathItem';
77
import { Reference } from './reference';
88
import { RequestBody } from './requestBody';
99
import { Response } from './response';
10-
import { Schema } from './schema';
10+
import { OasSchema } from './schema';
1111
import { SecurityScheme } from './securityScheme';
1212

1313
export interface Components {
@@ -19,6 +19,6 @@ export interface Components {
1919
pathItems?: { [key: string]: PathItem | Reference },
2020
requestBodies?: { [key: string]: RequestBody | Reference },
2121
responses?: { [key: string]: Response | Reference },
22-
schemas?: { [key: string]: Schema },
22+
schemas?: { [key: string]: OasSchema },
2323
securitySchemes?: { [key: string]: SecurityScheme | Reference }
2424
}

src/mediaType.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { Encoding } from './encoding';
22
import { Example } from './example';
33
import { Reference } from './reference';
4-
import { Schema } from './schema';
4+
import { OasSchema } from './schema';
55

66
export interface MediaType {
77
encoding?: { [propertyName: string]: Encoding },
88
example?: any;
99
examples?: { [key: string]: Example | Reference },
10-
schema?: Schema;
10+
schema?: OasSchema;
1111
}

src/parameter.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Example } from './example';
22
import { MediaType } from './mediaType';
33
import { Reference } from './reference';
4-
import { Schema } from './schema';
4+
import { OasSchema } from './schema';
55

66
interface CommonParameter {
77
content?: { [mediaType: string]: MediaType },
@@ -12,7 +12,7 @@ interface CommonParameter {
1212
explode?: boolean,
1313
name: string,
1414
required?: boolean,
15-
schema?: Schema,
15+
schema?: OasSchema,
1616
style?: string
1717
}
1818

src/schema.ts

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,54 @@
1-
import { JsonSchema } from '@fosfad/json-schema-typescript-definitions';
1+
import {
2+
AnyJsonSchema,
3+
ArrayJsonSchema,
4+
BooleanJsonSchema, IntegerJsonSchema,
5+
NullJsonSchema,
6+
NumberJsonSchema, ObjectJsonSchema,
7+
StringJsonSchema,
8+
} from '@fosfad/json-schema-typescript-definitions';
29
import { Discriminator } from './discriminator';
310
import { ExternalDocumentation } from './externalDocumentation';
411
import { XML } from './xml';
512

6-
export type Schema = JsonSchema & {
13+
export interface NullOasSchema extends NullJsonSchema {
14+
externalDocs?: ExternalDocumentation,
15+
xml?: XML;
16+
}
17+
18+
export interface BooleanOasSchema extends BooleanJsonSchema {
19+
externalDocs?: ExternalDocumentation,
20+
xml?: XML;
21+
}
22+
23+
export interface StringOasSchema extends StringJsonSchema {
24+
externalDocs?: ExternalDocumentation,
25+
xml?: XML;
26+
}
27+
28+
export interface NumberOasSchema extends NumberJsonSchema {
29+
externalDocs?: ExternalDocumentation,
30+
xml?: XML;
31+
}
32+
33+
export interface IntegerOasSchema extends IntegerJsonSchema {
34+
externalDocs?: ExternalDocumentation,
35+
xml?: XML;
36+
}
37+
38+
export interface ArrayOasSchema extends ArrayJsonSchema {
39+
externalDocs?: ExternalDocumentation,
40+
xml?: XML;
41+
}
42+
43+
export interface ObjectOasSchema extends ObjectJsonSchema {
744
discriminator?: Discriminator;
845
externalDocs?: ExternalDocumentation,
9-
xml?: XML
10-
};
46+
xml?: XML;
47+
}
48+
49+
export interface AnyOasSchema extends AnyJsonSchema {
50+
externalDocs?: ExternalDocumentation,
51+
xml?: XML;
52+
}
53+
54+
export type OasSchema = NullOasSchema | BooleanOasSchema | StringOasSchema | NumberOasSchema | IntegerOasSchema | ArrayOasSchema | ObjectOasSchema | AnyOasSchema;

0 commit comments

Comments
 (0)