@redocly/config 0.31.0 → 0.32.0

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.
@@ -60,9 +60,108 @@ export const entityCatalogSpecificCatalogSchema = {
60
60
  },
61
61
  additionalProperties: false,
62
62
  };
63
+ export const entityCatalogMetadataSchemaPropertySchema = {
64
+ type: 'object',
65
+ properties: {
66
+ type: {
67
+ type: 'string',
68
+ enum: ['string', 'number', 'boolean', 'array', 'object'],
69
+ },
70
+ description: {
71
+ type: 'string',
72
+ },
73
+ example: {
74
+ oneOf: [
75
+ { type: 'string' },
76
+ { type: 'number' },
77
+ { type: 'boolean' },
78
+ { type: 'array' },
79
+ { type: 'object' },
80
+ ],
81
+ },
82
+ enum: {
83
+ type: 'array',
84
+ items: { type: 'string' },
85
+ },
86
+ pattern: {
87
+ type: 'string',
88
+ },
89
+ format: {
90
+ type: 'string',
91
+ },
92
+ minimum: {
93
+ type: 'number',
94
+ },
95
+ maximum: {
96
+ type: 'number',
97
+ },
98
+ items: {
99
+ type: 'object',
100
+ },
101
+ },
102
+ additionalProperties: true,
103
+ };
104
+ export const entityCatalogMetadataSchema = {
105
+ type: 'object',
106
+ required: ['type', 'properties'],
107
+ properties: {
108
+ type: {
109
+ type: 'string',
110
+ enum: ['object'],
111
+ },
112
+ description: {
113
+ type: 'string',
114
+ },
115
+ properties: {
116
+ type: 'object',
117
+ additionalProperties: entityCatalogMetadataSchemaPropertySchema,
118
+ },
119
+ required: {
120
+ type: 'array',
121
+ items: { type: 'string' },
122
+ },
123
+ additionalProperties: {
124
+ type: 'boolean',
125
+ },
126
+ },
127
+ additionalProperties: true,
128
+ };
129
+ export const entityCatalogEntityTypeSchema = {
130
+ type: 'object',
131
+ required: ['name', 'description', 'metadataSchema'],
132
+ properties: {
133
+ name: {
134
+ type: 'string',
135
+ description: 'Display name of the entity type',
136
+ },
137
+ description: {
138
+ type: 'string',
139
+ description: 'Description of the entity type',
140
+ },
141
+ metadataSchema: entityCatalogMetadataSchema,
142
+ icon: {
143
+ type: 'object',
144
+ properties: {
145
+ src: {
146
+ type: 'string',
147
+ },
148
+ srcSet: {
149
+ type: 'string',
150
+ },
151
+ },
152
+ additionalProperties: false,
153
+ },
154
+ },
155
+ additionalProperties: false,
156
+ };
157
+ export const entityCatalogEntityTypesSchema = {
158
+ type: 'object',
159
+ additionalProperties: entityCatalogEntityTypeSchema,
160
+ };
63
161
  export const entitiesCatalogConfigSchema = {
64
162
  type: 'object',
65
163
  properties: {
164
+ entityTypes: entityCatalogEntityTypesSchema,
66
165
  catalogs: {
67
166
  type: 'object',
68
167
  properties: {