Skip to content

Commit ff86c04

Browse files
committed
Inherit common fields from OasSchema
1 parent 62fa395 commit ff86c04

File tree

3 files changed

+48
-31
lines changed

3 files changed

+48
-31
lines changed

package-lock.json

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

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"typescript": "3.9.10"
3131
},
3232
"dependencies": {
33-
"@fosfad/json-schema-typescript-definitions": "0.0.7"
33+
"@fosfad/json-schema-typescript-definitions": "0.0.9",
34+
"@fosfad/openapi-typescript-definitions": "0.0.7"
3435
}
3536
}

src/schema.ts

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {
22
AnyJsonSchema,
33
ArrayJsonSchema,
4-
BooleanJsonSchema, IntegerJsonSchema,
4+
BooleanJsonSchema, IntegerJsonSchema, JsonSchema,
55
NullJsonSchema,
66
NumberJsonSchema, ObjectJsonSchema,
77
StringJsonSchema,
@@ -11,68 +11,60 @@ import { ExternalDocumentation } from './externalDocumentation';
1111
import { Reference } from './reference';
1212
import { XML } from './xml';
1313

14-
export interface NullOasSchema extends NullJsonSchema {
14+
export interface OasSchema extends JsonSchema {
15+
externalDocs?: ExternalDocumentation,
16+
xml?: XML;
17+
}
18+
19+
export interface NullOasSchema extends NullJsonSchema, OasSchema {
1520
allOf?: Array<NullOasSchema | Reference>;
1621
anyOf?: Array<NullOasSchema | Reference>;
17-
externalDocs?: ExternalDocumentation,
1822
not?: NullOasSchema | Reference;
1923
oneOf?: Array<NullOasSchema | Reference>;
20-
xml?: XML;
2124
}
2225

23-
export interface BooleanOasSchema extends BooleanJsonSchema {
26+
export interface BooleanOasSchema extends BooleanJsonSchema, OasSchema {
2427
allOf?: Array<BooleanOasSchema | Reference>;
2528
anyOf?: Array<BooleanOasSchema | Reference>;
26-
externalDocs?: ExternalDocumentation,
2729
not?: BooleanOasSchema | Reference;
2830
oneOf?: Array<BooleanOasSchema | Reference>;
29-
xml?: XML;
3031
}
3132

32-
export interface StringOasSchema extends StringJsonSchema {
33+
export interface StringOasSchema extends StringJsonSchema, OasSchema {
3334
allOf?: Array<StringOasSchema | Reference>;
3435
anyOf?: Array<StringOasSchema | Reference>;
35-
externalDocs?: ExternalDocumentation,
3636
not?: StringOasSchema | Reference;
3737
oneOf?: Array<StringOasSchema | Reference>;
38-
xml?: XML;
3938
}
4039

41-
export interface NumberOasSchema extends NumberJsonSchema {
40+
export interface NumberOasSchema extends NumberJsonSchema, OasSchema {
4241
allOf?: Array<NumberOasSchema | Reference>;
4342
anyOf?: Array<NumberOasSchema | Reference>;
44-
externalDocs?: ExternalDocumentation,
4543
not?: NumberOasSchema | Reference;
4644
oneOf?: Array<NumberOasSchema | Reference>;
47-
xml?: XML;
4845
}
4946

50-
export interface IntegerOasSchema extends IntegerJsonSchema {
47+
export interface IntegerOasSchema extends IntegerJsonSchema, OasSchema {
5148
allOf?: Array<IntegerOasSchema | Reference>;
5249
anyOf?: Array<IntegerOasSchema | Reference>;
53-
externalDocs?: ExternalDocumentation,
5450
not?: IntegerOasSchema | Reference;
5551
oneOf?: Array<IntegerOasSchema | Reference>;
56-
xml?: XML;
5752
}
5853

59-
export interface ArrayOasSchema extends ArrayJsonSchema {
54+
export interface ArrayOasSchema extends ArrayJsonSchema, OasSchema {
6055
allOf?: Array<ArrayOasSchema | Reference>;
6156
anyOf?: Array<ArrayOasSchema | Reference>;
6257
contains?: OasSchema | Reference;
63-
externalDocs?: ExternalDocumentation,
6458
items?: OasSchema | Reference;
6559
not?: ArrayOasSchema | Reference;
6660
oneOf?: Array<ArrayOasSchema | Reference>;
6761
prefixItems?: Array<OasSchema | Reference>;
68-
xml?: XML;
6962
}
7063

71-
export interface ObjectOasSchema extends ObjectJsonSchema {
64+
export interface ObjectOasSchema extends ObjectJsonSchema, OasSchema {
7265
allOf?: Array<ObjectOasSchema | Reference>;
7366
anyOf?: Array<ObjectOasSchema | Reference>;
7467
discriminator?: Discriminator;
75-
externalDocs?: ExternalDocumentation,
7668
not?: ObjectOasSchema | Reference;
7769
oneOf?: Array<ObjectOasSchema | Reference>;
7870
patternProperties?: {
@@ -82,16 +74,11 @@ export interface ObjectOasSchema extends ObjectJsonSchema {
8274
[propertyName: string]: OasSchema | Reference;
8375
};
8476
propertyNames?: OasSchema | Reference;
85-
xml?: XML;
8677
}
8778

88-
export interface AnyOasSchema extends AnyJsonSchema {
79+
export interface AnyOasSchema extends AnyJsonSchema, OasSchema {
8980
allOf?: Array<OasSchema | Reference>;
9081
anyOf?: Array<OasSchema | Reference>;
91-
externalDocs?: ExternalDocumentation,
9282
not?: OasSchema | Reference;
9383
oneOf?: Array<OasSchema | Reference>;
94-
xml?: XML;
9584
}
96-
97-
export type OasSchema = NullOasSchema | BooleanOasSchema | StringOasSchema | NumberOasSchema | IntegerOasSchema | ArrayOasSchema | ObjectOasSchema | AnyOasSchema;

0 commit comments

Comments
 (0)